前端 技术随笔

jQuery 操作 checkbox/radio/select:选中判断与取值设置

jQuery 操作表单元素(checkbox、radio、select)是常见需求。下面把最常用的取值与设置整理成可直接套用的片段。

一、checkbox 是否选中

if ($("#is_student").prop("checked")) {   // 推荐用 .prop("checked") 判断
    // 已选中
}

提示:jQuery 1.6 之后属性状态判断推荐 .prop('checked').is(':checked').attr('checked') 在某些版本不可靠。上面示例用 .prop 写法以避开伪类选择器的冒号。

二、radio 选中值

var val = $("input[name=dtype]").filter(":checked").val();  // 获取选中的 radio 值

三、Select 获取 Text / Value / 索引

var sel = $("#select_id");
var checkText  = sel.find("option").filter(":selected").text();   // 选中项文本
var checkValue = sel.val();                                       // 选中项 value
var checkIndex = sel.get(0).selectedIndex;                        // 选中项索引
var maxIndex   = sel.find("option").last().attr("index");         // 最后一项索引

四、追加 / 删除 Option

sel.append("<option value='1'>Text</option>"); // 追加
sel.prepend("<option value='0'>请选择</option>"); // 插入首位
sel.find("option").last().remove();                // 删除最后一项
sel.find("option").eq(0).remove();                   // 删除第一项
sel.find("option[value='3']").remove();           // 按 value 删除
sel.empty();                                      // 清空所有选项

五、设置选中项

// 按 value 选中
sel.val("pxx");
// 按文本选中
sel.find("option").filter(function(){ return $(this).text() === "pxx"; }).prop("selected", true);
// 获取当前选中项的 value / text
var v = sel.val();
var t = sel.find("option").filter(":selected").text();
标签
jqueryjs