Jquery 操作Html 控件 CheckBox、Radio、Select 控件

http://www.cnblogs.com/lxblog/archive/2013/01/09/2853056.html

在使用Javascript编写前台脚本的时候,经常会操作Html控件,比如checkbox、radio、select,用Jquery库操作其他会方便很多,下面用Jq对这些控件的操作进行一个全面的代码总结。

一、Jquery对CheckBox的操作:

<inputid="ckb1"name="ckb"checked="checked"value="0"type="checkbox"/><span>篮球</span>

<inputid="ckb2"name="ckb"checked="checked"value="1"type="checkbox"/><span>排球</span>

<inputid="ckb3"name="ckb"disabled="disabled"value="2"type="checkbox"/><span>乒乓球</span>

<inputid="ckb4"name="ckb"disabled="disabled"value="3"type="checkbox"/><span>羽毛球</span>

1、查找控件:

(1)选择所有的checkbox控件:

根据input类型选择:$("input[type=checkbox]")等同于文档中的$("input:checkbox")

根据名称选择:$("input[name=ckb]")

(2)根据索引获取checkbox控件:

$("input:checkbox:eq(1)")

结果返回:<inputid="ckb2"name="ckb"value="1"type="checkbox"/><span>排球</span>

(3)获得所有禁用的checkbox控件:

$("input[type=checkbox]:disabled")

结果返回:

<inputid="ckb3"name="ckb"disabled="disabled"value="2"type="checkbox"/><span>乒乓球</span>

<inputid="ckb4"name="ckb"disabled="disabled"value="3"type="checkbox"/><span>羽毛球</span>

(4)获得所有启用的checkbox控件

$("input:checkbox[disabled=false]")

结果返回:

<inputid="ckb1"name="ckb"checked="checked"value="0"type="checkbox"/><span>篮球</span>

<inputid="ckb2"name="ckb"checked="checked"value="1"type="checkbox"/><span>排球</span>

(5)获得所有checked的checkbox控件

$("input:checkbox:checked")

结果返回:

<inputid="ckb1"name="ckb"checked="checked"value="0"type="checkbox"/><span>篮球</span>

<inputid="ckb2"name="ckb"checked="checked"value="1"type="checkbox"/><span>排球</span>

(6)获取所有未checkd的checkbox控件

$("input:checkbox:[checked=false]")

结果返回:

<inputid="ckb3"name="ckb"disabled="disabled"value="2"type="checkbox"/><span>乒乓球</span>

<inputid="ckb4"name="ckb"disabled="disabled"value="3"type="checkbox"/><span>羽毛球</span>

(7)获得value为0的checkbox控件

$("input[type=checkbox][value=0]")

结果返回:

<inputid="ckb1"name="ckb"checked="checked"value="0"type="checkbox"/><span>篮球</span>

2、禁用:

(1)禁用所有的checkbox控件:

$("input:checkbox").attr("disabled",true)

(2)启用某些禁用的checkbox控件:

$("input:checkbox:disabled").attr("disabled",false);

(3)判断value=0的checkbox是否禁用:

if($("input[name=ckb][value=0]").attr("disabled")==true){

alert("不可用");

}

else{

alert("可用");

}

3、选择:

(1)全选:

$("input:checkbox").attr("checked",true);

(2)全不选:

$("input:checkbox").attr("checked",false);

(3)反选:

$("input:checkbox").each(function(){

if($(this).attr("checked")){

//$(this).removeAttr("checked");

$(this).attr("checked",false);

}

else{

$(this).attr("checked",true);

}

});

4、取值:

functionGetCkboxValues(){

varstr="";

$("input:checkbox:checked").each(function(){

switch($(this).val()){

case"0":

str+="篮球,";

break;

case"1":

str+="排球,";

break;

case"2":

str+="乒乓球,";

break;

case"3":

str+="羽毛球,";

break;

}

});

str=str.substring(0,str.length-1)

}

二、Jquery对Radio的操作:

<inputname="edu"value="0"type="radio"checked="checked"/><span>专科</span>

<inputname="edu"value="1"type="radio"/><span>本科</span>

<inputname="edu"value="2"type="radio"disabled="disabled"/><span>研究生</span>

<inputname="edu"value="3"type="radio"disabled="disabled"/><span>博士生</span>

1、查找控件:

(1)选择所有的Radio控件

//根据input类型选择

$("input[type=radio]")//等同于文档中的$("input:radio")

//根据名称选择

$("input[name=edu]")

(2)根据索引获得Radio控件

$("input:radio:eq(1)")

结果返回:<inputname="edu"value="1"type="radio"/><span>本科</span>

(3)获得所有禁用的Radio控件

$("input:radio:disabled")

结果返回:

<inputname="edu"value="2"type="radio"disabled="disabled"/><span>研究生</span>

<inputname="edu"value="3"type="radio"disabled="disabled"/><span>博士生</span>

(4)获得所有启用的Radio控件

$("input:radio[disabled=false]")

结果返回:

<inputname="edu"value="0"type="radio"checked="checked"/><span>专科</span>

<inputname="edu"value="1"type="radio"/><span>本科</span>

(4)获得checked的RadioButton控件

$("input:radio:checked")//等同于$("input[type=radio][checked]")

结果返回:

<inputname="edu"value="0"type="radio"checked="checked"/><span>专科</span>

(5)获取未checked的RadioButton控件

$("input:radio[checked=false]").attr("disabled",true);

结果返回:

<inputname="edu"value="1"type="radio"/><span>本科</span>

<inputname="edu"value="2"type="radio"disabled="disabled"/><span>研究生</span>

<inputname="edu"value="3"type="radio"disabled="disabled"/><span>博士生</span>

(6)获得value为0RadioButton控件

$("input[type=radio][value=0]")

结果返回:<inputname="edu"value="0"type="radio"checked="checked"/><span>专科</span>

2、禁用:

(1)禁用所有的Radio

$("input:radio").attr("disabled",true);

或者$("input[name=edu]").attr("disabled",true);

(2)禁用索引为1的Radio控件

$("input:radio:eq(1)").attr("disabled",true);

(3)启用禁用的Radio控件

$("input:radio:disabled").attr("disabled",false);

(4)禁用当前已经启用的Radio控件

$("input:radio[disabled=false]").attr("disabled",true);

(5)禁用checked的RadioButton控件

$("input[type=radio][checked]").attr("disabled",true);

(6)禁用未checked的RadioButton控件

$("input:[type=radio][checked=false]").attr("disabled",true);

(7)禁用value=0的RadioButton

$("input[type=radio][value=0]").attr("disabled",true);

3、取值:

$("input:radio:checked").val()

4、选择:

(1)判断value=1的radio控件是否选中,未选中则选中:

varv=$("input:radio[value=1]").attr("checked");

if(!v){

$("input:radio[value=1]").attr("checked",true);

}

(2)转换成Dom元素数组来进行控制选中:

$("input:radio[name=edu]").get(1).checked=true;

三、Jquery对Select操作

复制代码

<selectid="cmbxGame">

<optionvalue="0"selected="selected">黑猫警长</option>

<optionvalue="1"disabled="disabled">大头儿子</option>

<optionvalue="2">熊出没</option>

<optionvalue="3">喜羊羊</option>

</select>

复制代码

1、禁用:

(1)禁用select控件

$("select").attr("disabled",true);

(2)禁用select中所有option

$("selectoption").attr("disabled",true);

(3)禁用value=2的option

$("selectoption[value=2]").attr("disabled",true);

(4)启用被禁用的option

$("selectoption:disabled").attr("disabled",false);

2、选择:

(1)option值为2的被选择:

varv=$("selectoption[value=2]").attr("selected");

if(!v){

$("selectoption[value=2]").attr("selected",true);

}

(2)索引为2的option项被选择

$("select")[0].selectedIndex=2;

或者$("select").get(0).selectedIndex=2;

或者$("selectoption[index=2]").attr("selected",true);

3、获取选择项的索引:

(1)获取选中项索引:jq中的get函数是将jq对象转换成了dom元素

varselectIndex=$("select").get(0).selectedIndex;

或者varselectIndex=$("selectoption:selected").attr("index");

(2)获取最大项的索引:

varmaxIndex=$("selectoption:last").attr("index")

或者varmaxIndex=$("selectoption").length-1

4、删除select控件中的option

(1)清空所有option

$("selectoption").empty();

(2)删除value=2的option

$("selectoption[value=2]").remove();

(3)删除第一个option

$("selectoption[index=0]").remove();

(4)删除text="熊出没"的option

$("selectoption[text=熊出没]").remove();//此方法某些浏览器不支持用下面的方法替代

注意:each中不能用break用returnfalse代替,continue用returntrue代替

$("selectoption").each(function(){

if($(this).text()=="熊出没"){

$(this).remove();

returnfalse;

}

});

5、在select中插入option

(1)在首位置插入option并选择

$("select").prepend("<optionvalue='0'>请选择</option>");

$("selectoption[index=0]").attr("selected",true);

(2)在尾位置插入option并选择

$("select").append("<optionvalue=\"5\">哪吒闹海</option>");

varmaxIndex=$("selectoption:last").attr("index")

$("selectoption[index="+maxIndex+"]").attr("selected",true);

(3)在固定位置插入比如第一个option项之后插入新的option并选择

$("<optionvalue=\"5\">哪吒闹海</option>").insertAfter("selectoption[index=0]");

或者$("selectoption[index=0]").after("<optionvalue=\"5\">哪吒闹海</option>");

$("selectoption[index=1]").attr("selected",true);

6、取值:

functionGetCbxSelected(){

varv=$("selectoption:selected").val();

vart=$("selectoption:selected").text();

alert("值:"+v+"文本:"+t);

}

相关推荐