
1、checkbox日常jquery *** 作。
现在我们以下面的html为例进行checkbox的 *** 作。
<input id="checkAll" type="checkbox" />全选
<input name="subBox" type="checkbox" />项1
<input name="subBox" type="checkbox" />项2
<input name="subBox" type="checkbox" />项3
<input name="subBox" type="checkbox" />项4
全选和全部选代码:
<script type="text/javascript">
$(function() {
$("#checkAll")click(function() {
$('input[name="subBox"]')attr("checked",thischecked);
});
var $subBox = $("input[name='subBox']");
$subBoxclick(function(){
$("#checkAll")attr("checked",$subBoxlength == $("input[name='subBox']:checked")length true : false);
});
});
</script>
checkbox属性:
var val = $("#checkAll")val();// 获取指定id的复选框的值
var isSelected = $("#checkAll")attr("checked"); // 判断id=checkAll的那个复选框是否处于选中状态,选中则isSelected=true;否则isSelected=false;
$("#checkAll")attr("checked", true);// or
$("#checkAll")attr("checked", 'checked');// 将id=checkbox_id3的那个复选框选中,即打勾
$("#checkAll")attr("checked", false);// or
$("#checkAll")attr("checked", '');// 将id=checkbox_id3的那个复选框不选中,即不打勾
$("input[name=subBox][value=3]")attr("checked", 'checked');// 将name=subBox, value=3 的那个复选框选中,即打勾
$("input[name=subBox][value=3]")attr("checked", '');// 将name=subBox, value=3 的那个复选框不选中,即不打勾
$("input[type=checkbox][name=subBox]")get(2)checked = true;// 设置index = 2,即第三项为选中状态
$("input[type=checkbox]:checked")each(function(){ //由于复选框一般选中的是多个,所以可以循环输出选中的值
alert($(this)val());
});
2、radio的jquery日常 *** 作及属性
我们仍然以下面的html为例:
<input type="radio" name="radio" id="radio1" value="1" />1
<input type="radio" name="radio" id="radio2" value="2" />2
<input type="radio" name="radio" id="radio3" value="3" />3
<input type="radio" name="radio" id="radio4" value="4" />4
radio *** 作如下:
$("input[name=radio]:eq(0)")attr("checked",'checked'); //这样就是第一个选中咯。
//jquery中,radio的选中与否和checkbox是一样的。
$("#radio1")attr("checked","checked");
$("#radio1")removeAttr("checked");
$("input[type='radio'][name='radio']:checked")length == 0 "没有任何单选框被选中" : "已经有选中";
$('input[type="radio"][name="radio"]:checked')val(); // 获取一组radio被选中项的值
$("input[type='radio'][name='radio'][value='2']")attr("checked", "checked");// 设置value = 2的一项为选中
$("#radio2")attr("checked", "checked"); // 设置id=radio2的一项为选中
$("input[type='radio'][name='radio']")get(1)checked = true; // 设置index = 1,即第二项为当前选中
var isChecked = $("#radio2")attr("checked");// id=radio2的一项处于选中状态则isChecked = true, 否则isChecked = false;
var isChecked = $("input[type='radio'][name='radio'][value='2']")attr("checked");// value=2的一项处于选中状态则isChecked = true, 否则isChecked = false;
3、select下拉框的日常jquery *** 作
select *** 作相比checkbox和radio要相对麻烦一些,我们仍然以下面的html为例来说明:
<select name="select" id="select_id" style="width: 100px;">
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
<option value="5">55</option>
<option value="6">66</option>
</select>
看select的如下属性:
$("#select_id")change(function(){ // 1为Select添加事件,当选择其中一项时触发
//code
});
var checkValue = $("#select_id")val(); // 2获取Select选中项的Value
var checkText = $("#select_id :selected")text(); // 3获取Select选中项的Text
var checkIndex = $("#select_id")attr("selectedIndex"); // 4获取Select选中项的索引值,或者:$("#select_id")get(0)selectedIndex;
var maxIndex =$("#select_id :last")get(0)index; // 5获取Select最大的索引值
/
jQuery设置Select的选中项
/
$("#select_id")get(0)selectedIndex = 1; // 1设置Select索引值为1的项选中
$("#select_id")val(4); // 2设置Select的Value值为4的项选中
/
jQuery添加/删除Select的Option项
/
$("#select_id")append("<option value='新增'>新增option</option>"); // 1为Select追加一个Option(下拉项)
$("#select_id")prepend("<option value='请选择'>请选择</option>"); // 2为Select插入一个Option(第一个位置)
$("#select_id")get(0)remove(1); // 3删除Select中索引值为1的Option(第二个)
$("#select_id :last")remove(); // 4删除Select中索引值最大Option(最后一个)
$("#select_id [value='3']")remove(); // 5删除Select中Value='3'的Option
$("#select_id")empty();
$("#select_id")find("option:selected")text(); // 获取select 选中的 text :
$("#select_id")val(); // 获取select选中的 value:
$("#select_id")get(0)selectedIndex; // 获取select选中的索引:
//设置select 选中的value:
$("#select_id")attr("value","Normal");
$("#select_id")val("Normal");
$("#select_id")get(0)value = value;
//设置select 选中的text,通常可以在select回填中使用
var numId=33 //设置text==33的选中!
var count=$("#select_id option")length;
for(var i=0;i<count;i++)
{ if($("#select_id")get(0)options[i]text == numId)
{
$("#select_id")get(0)options[i]selected = true;
break;
}
}
通过上面的总结,应该对jquery的checkbox,radio和select有了一定的了解了吧,温故而知新,用多了就会变的熟练起来,即使有时候忘记了,也可以来翻一翻!
单选按钮的选中与取消选中,是元素自带的属性checked来实现的
一般情况下:
这个方法就可以满足实现将其第一个单选按钮选中。
但是如果这个是根据后台传到页面的值来实现的一个动态单选按钮选中。
下一次再赋值选中时可能会造成多个单选按钮都被选中。
页面就识别不出来应该将哪一个单选元素选中。
当然这时可以使用:
然后再将需要的单选元素选中。
但是可能会出现BUG,页面上虽然单选元素的属性是被checked了的(chrome F12查看)。
但是效果没有体现出来。
这是为什么呢?
其实很简单,一开始实现选中与取消选中的方式就错误了
正确的姿势是:
这是因为prop才是官方推荐的 *** 作元素的固有属性,比如input标签的id/class/type/style等等
而attr更多的是用来 *** 作元素的自定义属性
第一次点击获取不到值是因为页面刚刷新进入的时候,单选框没有被选中,所以获取的值是空的。
因为你第一次点击了,所以这个单选框被选中了,所以第二次点击就能获取到这个单选框的值了。
因为存在这样的问题,你这里就不要再用radio了,直接使用a标签或其他标签代替,然后在新增一个隐藏框,当点击了某一个按钮时,把按钮的值赋值到这个隐藏框,等点提交的时候提交这个隐藏框的值就好了。
第一:给单选按钮加触发事件
<input type="radio" name="z" value="0" onclick="set_tip();">总
<input type="radio" name="z" value="1" onclick="set_tip();">分
第二:要结果显示的地方加上个标签
<td> 当前的的选择是 <span id="tip"> </span></td>
第三:使用jquery获取单选的结果值,将结果显示出来
function set_tip(){
var val= $("input[@name='z'][checked]")val();
$("#tip")html(val);
}
1、JQuery的核心的一些方法
each(callback) '就像循环
$("Element")length; ‘元素的个数,是个属性
$("Element")size(); '也是元素的个数,不过带括号是个方法
$("Element")get(); ‘某个元素在页面中的集合,以数组的形式存储
$("Element")get(index); '功能和上面的相同,index表示第几个元素,数组的下标
$("Element")get()reverse(); ‘把得到的数组方向
$("Element1")index($("Element2")); '元素2在元素1中的索引值是。
2、基本对象获取(注意这里获取的都是Jquery对象而不是Dom对象哦,但是他俩是可以转换滴)
$("") ‘表示获取所有对象 但是我至今没这样用过
$("#XXX") '获得 id=XXX 的元素对象(id可以是标签的id或CSS样式id) 常用
$("input[name='username']") 获得input标签中name='userName'的元素对象 常用
$("abc") ' 获得样式class的名字是abc的元素对象 常用
$("div") ' 标签选择器 选择所有的div元素 常用
$("#a,b,span") '表示获得ID是a的元素和使用了类样式b的元素以及所有的span元素
$("#a b p") 'ID号是a的并且使用了 b样式的 所有的p元素
3、层级元素获取
$("Element1 Element2 Element3 ") '前面父级 后面是子集
$("div > p") '获取div下面的所有的 p元素
$("div + p") 'div元素后面的第一个 p元素
$("div ~ p") 'div后面的所有的 p元素
4、简单对象获取
$("Element:first") 'HTML页面中某类元素的第一个元素
$("Element:last") 'HTML页面中某类元素的最后一个元素
$("Element:not(selector)") '去除所有与给定选择器匹配的元素,如:$("input:not(:checked)") 表示选择所有没有选中的复选框
$("Element:even") '获得偶数行
$("Element:odd“)'获得奇数行
$("Element:eq(index)") '取得一个给定的索引值
$("Element:gt(index)") '取得给定索引值的元素 之后的所有元素
$("Element:lt(index)") '取得给定索引值的元素 之前的所有元素
5、内容对象的获取和对象可见性
$("Element:contains(text)") '元素中是否包含text文本内容
$('Element:empty") '获得元素不包含子元素或文本的
$("Element:partnt") '获得元素包含子元素或文本的
$("Element:has(selector)") ‘是否包含某个元素, 如:$("p:has(span)")表示所有包含span元素的p元素
$("Element:hidden") '选择所有可见元素
$("Element:visible") '选择所有不可见元素
6、其他对象获取方法
$("Element[id]") '所有带有ID属性的元素
$("Element[attribute = youlika ]" '获得所有某个属性为youlika的元素
$("Element[attribute != youlika ]" '获得所有某个属性为不是youlika的元素
$("Element[attribute ^= youlika ]" '获得所有某个属性为不是youlika的开头的元素
$("Element[attribute $= youlika ]" '获得所有某个属性为不是youlika的结尾的元素
$("Element[attribute = youlika ]" '获得所有某个属性包含youlika的开头的元素
$("Element[selector1][selector2][]") '符合属性选择器,比如$("input[id][name][value=youlika ]")表示获得带有ID、Name以及value是youlika 的input元素。
7、子元素的获取
$("Element:nth-child(index)") '选择父级下面的第n个元素
$("Element:nth-child(even)") '选择父级下面的偶数
$("Element:nth-child(odd)") '选择父级下面的奇数
$("Element:nth-child(3n+1)") '表达式
$("Element:first-child") '选择父级下面的第一个子元素
$("Element:last-child") '选择父级下面的最后一个子元素
$("Element:only-child") '匹配父级下的唯一的一个子级元素,例如dt在dl列表中唯一,那么将选择dt
8、表单对象获取
$(:input)//查找所有的Input元素,当然也包括下拉列表,文本域,单选框,复选框等。
$(:text)//匹配所有的单行文本框
$(:password)//匹配所有的密码框
$(:radio)//匹配所有的单选按钮
$(:checkbox)//匹配所有的复选框
$(:submit)//匹配所有的提交按钮
$(:image)//匹配所有的图像域,例如
$(:reset)//匹配所有的重置按钮
$(:button)//匹配所有的按钮
$(:file)//匹配所有的文件上传域
$(:hidden)//匹配所有的不可见元素或者type为hidden的元素
$(:enabled)//匹配所有可用的input元素,比如radio:enabled表示匹配所有可用的单选按钮
$(:disabled)//匹配所有的不可用input元素,作用与上相反
$(:checked)//匹配所有选中的复选框元素
$(:selected)//匹配所有的下拉列表
9、元素属性的设置与移除
$("Element")attr(name) '取得第一个匹配的属性值,比如$("img")attr("src")
$("Element"attr(key,value)") '某一个元素设置属性
$("Element"attr({key:value,key1:value,})) ‘为某个元素一次性设置多个属性
$("Element")attr(key,function) '为所有匹配的元素设置一个计算的属性值。
$("Element")removeAttr(name)//移除某一个属性
本篇文章是关于jQuery对select的 *** 作进行了总结介绍 需要的朋友可以参考下
//遍历option和添加 移除option function changeShipMethod(shipping){ var len = $("select[@name=ISHIPTYPE] option") length if(shipping value != "CA"){ $("select[@name=ISHIPTYPE] option") each(function(){ if($(this) val() == ){ $(this) remove(); } }); }else{ $("<option value= >UPS Ground</option>") appendTo($("select[@name=ISHIPTYPE]")); } } //取得下拉选单的选取值 $( #testSelect option:selected ) text(); 或 $("#testSelect") find( option:selected ) text(); 或 $("#testSelect") val(); ////////////////////////////////////////////////////////////////// 记性不好的可以收藏下 下拉框: var cc = $(" formc select[@name= country ] option[@selected]") text(); //得到下拉菜单的选中项的文本(注意中间有空格) var cc = $( formc select[@name="country"] ) val(); //得到下拉菜单的选中项的值 var cc = $( formc select[@name="country"] ) attr("id"); //得到下拉菜单的选中项的ID属性值 $("#select") empty();//清空下拉框//$("#select") ( ); $("<option value= > </option>") appendTo("#select")//添加下拉框的option
稍微解释一下: select[@name= country ] option[@selected] 表示具有name 属性 并且该属性值为 country 的select元素 里面的具有selected 属性的option 元素 可以看出有@开头的就表示后面跟的是属性
单选框: $("input[@type=radio][@checked]") val(); //得到单选框的选中项的值(注意中间没有空格) $("input[@type=radio][@value= ]") attr("checked" checked ); //设置单选框value= 的为选中状态 (注意中间没有空格)
复选框: $("input[@type=checkbox][@checked]") val(); //得到复选框的选中的第一项的值 $("input[@type=checkbox][@checked]") each(function(){ //由于复选框一般选中的是多个 所以可以循环输出 alert($(this) val()); });
$("#c ") attr("checked" );//不打勾 $("#c ") attr("checked" true);//打勾 if($("#c ") attr( checked )==undefined){} //判断是否已经打勾 当然jquery的选择器是强大的 还有很多方法 <script src=jquery js type=text/javascript></script> <script language="javascript" type=text/javascript> $(document) ready(function(){ $("#selectTest") change(function() { //alert("Hello"); //alert($("#selectTest") attr("name")); //$("a") attr("href" "xx "); //window location href="xx "; //alert($("#selectTest") val()); alert($("#selectTest option[@selected]") text()); $("#selectTest") attr("value" " ");
}); }); </script>
<a href="#">aaass</a> <! 下拉框 > <select id="selectTest" name=selectTest> <option value=" "> </option> <option value=" "> </option> <option value=" "> </option> <option value=" "> </option> <option value=" "> </option> <option value=" "> </option> </select> jquery radio取值 checkbox取值 select取值 radio选中 checkbox选中 select选中 及其相关获取一组radio被选中项的值 var item = $( input[@name=items][@checked] ) val(); 获取select被选中项的文本 var item = $("select[@name=items] option[@selected]") text(); select下拉框的第二个元素为当前选中值 $( #select_id )[ ] selectedIndex = ; radio单选组的第二个元素为当前选中值 $( input[@name=items] ) get( ) checked = true; 获取值 文本框 文本区域 $("#txt") attr("value") 多选框checkbox $("#checkbox_id") attr("value") 单选组radio $("input[@type=radio][@checked]") val(); 下拉框select $( #sel ) val(); 控制表单元素 文本框 文本区域 $("#txt") attr("value" );//清空内容 $("#txt") attr("value" );//填充内容 多选框checkbox $("#c ") attr("checked" );//不打勾 $("#c ") attr("checked" true);//打勾 if($("#c ") attr( checked )==undefined) //判断是否已经打勾 单选组radio $("input[@type=radio]") attr("checked" );//设置value= 的项目为当前选中项 下拉框select $("#sel") attr("value" sel );//设置value= sel 的项目为当前选中项 $("<optionvalue= > </option><optionvalue= > </option>") appendTo("#sel")//添加下拉框的option $("#sel") empty() //清空下拉框
lishixinzhi/Article/program/Java/JSP/201311/20142
一般都会在后台获得,比如这个表格的数据是用$list这个变量存储的,$list中每个元素都有id date title file四个字段,checkbox的name是id,现在写一个js方法用来将选中的复选框传到后台,需要使用一个按钮触发下面的方法
function fun(){
var arr = new Array();
$(":checked")each(function(){
arr[] = $(this)attr("name");
});
//然后用任意方法将arr传到后台
}
在后台根据传回来的id在$list中获得要你想要的数据。
上面是我觉得最简单的方法。
下面还有一个在页面里获得你要的数据的方法
将每一行数据都写在同一个div里,根据复选框的标示获得对应div内的数据
<div name=“id”>数据, (最后一列)<input type="checkbox" name="id" /></div>
<script>
function fun(){
var arr = new Array();
var name = '';
$(":checked")each(function(){
name = $(this)attr("name");
arr[] = $("div[name=" + name + "]")html();
});
}
</script>
以上就是关于jquery 怎么选中checkbox指定的值全部的内容,包括:jquery 怎么选中checkbox指定的值、JQ 控制单选款选中和取消选中、【求助】关于JQuery获取不到值,请求参数为Null等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)