我有以下html代码
html代码
<p><a href="" onclick="select()">Select All</a> / <a href="" onclick="unselect()" >Unselect All</a> </p>
{% for field in fields %}
<div class="contact_align">
<input id="select-unselect" type="checkbox" name="invite" value="so">{{ field }}
</div>
{% endfor %}
<script type="text/javascript">
function select(){
$('#select-unselect').attr('checked',true);
}
function unselect(){
$('#select-unselect').attr('checked',false);
}
</script>所以上面是我的代码,功能不起作用,所以谁能让我知道我在上面的代码中做错了什么并让它工作吗?
发布于 2013-08-22 08:19:43
您需要在函数中添加一个return false。否则,a标记只是作为普通的a标记运行,从而进入指定的href。并将attr(...)更改为prop(...)。
function select(){
$('#select-unselect').prop('checked',true);
return false;
}
function unselect(){
$('#select-unselect').prop('checked',false);
return false;
}或者在这样的一个函数中切换它:
function select(){
$('#select-unselect').prop('checked',function(id,checked){ return !checked; });
return false;
}但是我建议将id #select-unselect更改为类.select-unselect,因为您不能有重复的id。
还将<input id="select-unselect" type="checkbox" name="invite" value="so">{{ field }}更改为<input class="select-unselect" type="checkbox" name="invite" value="so">{{ field }}
发布于 2013-08-22 08:14:08
使用.prop(),也是因为您有多个具有相同id的元素-- use类而不是id
<input class="select-unselect" type="checkbox" name="invite" value="so">{{ field }}然后
$('.select-unselect').prop('checked',true);发布于 2013-08-22 08:28:57
使用Prop而不是attr。请查看此链接Jquery,以了解and和支柱之间的区别。
$(‘#select-unselect’).prop(“选中”,true);
并尝试使用类而不是控件的id。
https://stackoverflow.com/questions/18374984
复制相似问题