为什么我这段js代码的全选事件只响应了一次
<SCRIPTLANGUAGE="JavaScript"src="http://code.jquery.com/jquery-1.9.1.js"></SCRIPT><SC...
<SCRIPT LANGUAGE="JavaScript" src="http://code.jquery.com/jquery-1.9.1.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
$("document").ready(function(){
$("#btn1").click(function(){
$("[name='checkbox']").attr("checked",'true');//全选
})
$("#btn2").click(function(){
$("[name='checkbox']").removeAttr("checked");//取消全选
})
$("#btn3").click(function(){
$("[name='checkbox']:even").attr("checked",'true');//选中所有奇数
})
$("#btn4").click(function(){
$("[name='checkbox']").each(function(){//反选
if($(this).attr("checked"))
{
$(this).removeAttr("checked");
}
else
{
$(this).attr("checked",'true');
}
})
})
$("#btn5").click(function(){
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+"\n";
//alert($(this).val());
})
alert(str);
})
})
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="form1" method="post" action="">
<input type="button" id="btn1" value="全选">
<input type="button" id="btn2" value="取消全选">
<input type="button" id="btn3" value="选中所有奇数">
<input type="button" id="btn4" value="反选">
<input type="button" id="btn5" value="获得选中的所有值">
<br>
<input type="checkbox" name="checkbox" value="checkbox1">
checkbox1
<input type="checkbox" name="checkbox" value="checkbox2">
checkbox2
<input type="checkbox" name="checkbox" value="checkbox3">
checkbox3
<input type="checkbox" name="checkbox" value="checkbox4">
checkbox4
<input type="checkbox" name="checkbox" value="checkbox5">
checkbox5
<input type="checkbox" name="checkbox" value="checkbox6">
checkbox6
<input type="checkbox" name="checkbox" value="checkbox7">
checkbox7
<input type="checkbox" name="checkbox" value="checkbox8">
checkbox8
</form>
</BODY>
</HTML> 展开
<SCRIPT LANGUAGE="JavaScript">
$("document").ready(function(){
$("#btn1").click(function(){
$("[name='checkbox']").attr("checked",'true');//全选
})
$("#btn2").click(function(){
$("[name='checkbox']").removeAttr("checked");//取消全选
})
$("#btn3").click(function(){
$("[name='checkbox']:even").attr("checked",'true');//选中所有奇数
})
$("#btn4").click(function(){
$("[name='checkbox']").each(function(){//反选
if($(this).attr("checked"))
{
$(this).removeAttr("checked");
}
else
{
$(this).attr("checked",'true');
}
})
})
$("#btn5").click(function(){
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+"\n";
//alert($(this).val());
})
alert(str);
})
})
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="form1" method="post" action="">
<input type="button" id="btn1" value="全选">
<input type="button" id="btn2" value="取消全选">
<input type="button" id="btn3" value="选中所有奇数">
<input type="button" id="btn4" value="反选">
<input type="button" id="btn5" value="获得选中的所有值">
<br>
<input type="checkbox" name="checkbox" value="checkbox1">
checkbox1
<input type="checkbox" name="checkbox" value="checkbox2">
checkbox2
<input type="checkbox" name="checkbox" value="checkbox3">
checkbox3
<input type="checkbox" name="checkbox" value="checkbox4">
checkbox4
<input type="checkbox" name="checkbox" value="checkbox5">
checkbox5
<input type="checkbox" name="checkbox" value="checkbox6">
checkbox6
<input type="checkbox" name="checkbox" value="checkbox7">
checkbox7
<input type="checkbox" name="checkbox" value="checkbox8">
checkbox8
</form>
</BODY>
</HTML> 展开
2个回答
展开全部
我看你用了jquery1.9.1。
建议用prop属性
prop修改dom属性。
$(el).prop('checked', true); 等于
el.checked = true;
attr修改html标签的属性。
$(el).prop('checked', true); 等于
el.setAttribute('checked', 'checked');
修改html标签的属性时有的属性不能呈现在浏览器上。
$("document").ready(function () {
$("#btn1").click(function () {
$("[name='checkbox']").prop("checked", true); //全选
})
$("#btn2").click(function () {
$("[name='checkbox']").prop("checked", false); //取消全选
})
$("#btn3").click(function () {
$("[name='checkbox']:even").prop("checked", true); //选中所有奇数
})
$("#btn4").click(function () {
$("[name='checkbox']").each(function () { //反选
if ($(this).prop("checked")) {
$(this).prop("checked", false);
} else {
$(this).prop("checked", true);
}
})
})
$("#btn5").click(function () {
var str = "";
// 使用:checked选择器
$("[name='checkbox']:checked").each(function () {
str += $(this).val() + "\n";
//alert($(this).val());
})
alert(str);
})
})
追问
原来这样啊,我先试试。prop这个属性我没用过,一般都用的attr。网上搜的答案也是用attr 一运行就出现你说的,不能呈现在浏览器上。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询