我需要检查复选框的checked属性,并使用jQuery基于checked属性执行操作.
例如,如果选中年龄复选框,则需要显示一个文本框以输入年龄,否则隐藏文本框.
但false默认情况下返回以下代码:
if ($('#isAgeSelected').attr('checked'))
{
$("#txtAge").show();
}
else
{
$("#txtAge").hide();
}Run Code Online (Sandbox Code Playgroud)
我如何成功查询该checked属性?
如何检查复选框数组中的复选框是否使用复选框数组的ID进行检查?
我使用以下代码,但无论id如何,它总是返回已选中复选框的计数.
function isCheckedById(id) {
alert(id);
var checked = $("input[@id=" + id + "]:checked").length;
alert(checked);
if (checked == 0) {
return false;
} else {
return true;
}
}
Run Code Online (Sandbox Code Playgroud) 我的页面中有一些输入文本字段,我使用javascript setVal函数显示它们的值进行编辑,我添加了一个额外的复选框字段,我传递了一个值,
在这里,我想检查是否.set("value",""),然后应该检查此复选框,否则取消选中,
我这样做是因为使用了两个div,但我对此感到不舒服,还有其他解决办法吗?
if(value == 1) {
$('#uncheck').hide();
$('#check').show();
} else{
$('#uncheck').show();
$('#check').hide();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用jQuery选中(或不选中)复选框.
我的示例HTML:
<input type="checkbox" id="test" name="test" />
Run Code Online (Sandbox Code Playgroud)
尝试清除复选框(不起作用)
$('#test').val('off');
Run Code Online (Sandbox Code Playgroud)
并在检查:
$('#test').val('on');
Run Code Online (Sandbox Code Playgroud)
如何使用jQuery控制复选框?
检查/取消选中位于触发我的函数的元素内的复选框的正确方法是什么?
这是我的代码:
<table id="news_list">
<tr>
<td><input type="checkbox" name="news[1]" /></td>
<td>TEXT</td>
</tr></table>
$("#news_list tr").click(function() {
var ele = $(this).find('input');
if(ele.is(':checked')){
ele.removeAttr('checked');
$(this).removeClass('admin_checked');
}else{
ele.attr('checked', 'checked');
$(this).addClass('admin_checked');
}
});
Run Code Online (Sandbox Code Playgroud)
问题是我只能检查并取消选中每个方框一次.在我检查并取消选中后,它仍然会添加/删除类,但从不再次检查一个框(即使我单击复选框,而不是表行).
我尝试过使用.bind('click')触发器,但结果却是一样的.
有解决方案吗
以下两种用法有什么区别?
document.getElementById('myRadio').checked = "checked";
Run Code Online (Sandbox Code Playgroud)
和
document.getElementById('myRadio').checked = true;
Run Code Online (Sandbox Code Playgroud)
对我来说,两者的行为都是一样的.但是,我只是想知道为什么存在两种方法来做同样的事情.
哪一个是理想的用法?我需要支持IE7及更高版本.
事情是这个解决方案只在firefox中工作
$(':radio').on("change", function(event) {
$(this).prop('checked', true);
});
$(':radio').on("click", function(event) {
$(this).prop('checked', false);
});
Run Code Online (Sandbox Code Playgroud)
在chrome中,它不允许你选择任何东西 http://jsfiddle.net/wuAWn/
Ofc,我可以使用变量并写出类似的东西
var val = -1;
$(':radio').on("click", function() {
if($(this).val() == val) {
$(this).prop('checked', false);
val = -1;
}
else val = $(this).val();
});
Run Code Online (Sandbox Code Playgroud)
但是我的页面上会有很少的单选按钮组,并且html内容是通过ajax加载的,所以我想为所有这些单元添加1个函数,而不是为每个单选按钮组定义变量并为每个单选按钮编写相同的函数组.
编辑:感谢您对复选框的帮助,但是对于充当单选按钮组的复选框,您需要编写adittional javascrip,取消选中具有相同名称的所有其他复选框onclick,我已经有单选按钮css,对我来说更容易添加像look-like-checkbox这样的类,让它看起来像复选框,我使用统一的库来定制外观,无论如何这里是我奇怪的解决方案http://jsfiddle.net/wuAWn/9/
如果选中复选框数组中的复选框,如何提交值1,如果未选中则提交0?我试过这个,但没有运气.我正在尝试在提交表单时在php数组中获取此数组.请帮忙!
<input id = 'testName0' type = 'checkbox' name = 'check[0]' value = '1' checked>
<input id='testNameHidden0' type='hidden' value='0' name='check[0]'>
<input id = 'testName1' type = 'checkbox' name='check[1]' value = '1' unchekced>
<input id='testNameHidden1' type='hidden' value='0' name='check[1]'>
<input type = 'submit' value = 'Save Changes'>
>
<script>
if(document.getElementById('testName0').checked){
document.getElementById('testNameHidden0').disabled = true;
}
</script>
<script>
if(document.getElementById('testName1').checked){
document.getElementById('testNameHidden1').disabled = true;
}
</script>
Run Code Online (Sandbox Code Playgroud) 我环顾网站,似乎无法找到这个问题的答案.如果它确实存在,请随意指导我说的问题.
我目前正在尝试做一些基于树的复选框操作,而且我遇到了一些我觉得很奇怪的行为.
在谷歌浏览器中,我发现选中一个复选框会留下一些"残留",如果你愿意的话,这将不允许我使用"attrRemove('checked')检查或取消选中该复选框;"
有趣的是,Internet Explorer(9)有我想要的结果.请在Chrome和IE中查看此jsFiddle,以便对效果进行比较.
http://jsfiddle.net/xixionia/9K5ft/
任何人都可以解释这些差异,以及我如何能够检查/取消选中已经"手动"检查的chrome中的复选框?
HTML
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
Run Code Online (Sandbox Code Playgroud)
JavaScript的
$(':checkbox').click(function(e) {
if($(this).is(':checked')) {
$(':checkbox').attr('checked', 'checked');
} else {
$(':checkbox').removeAttr('checked');
}
});
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.:)
编辑:
我能够找到这个工作.如果其他人有任何其他解决方案,请告诉我,我会将其标记为解决方案.:)
$(':checkbox').click(function(e) {
var value = this.checked;
$(':checkbox').each(function(){ this.checked = value; });
});
Run Code Online (Sandbox Code Playgroud)
编辑:
事实证明,这个问题是jQuery 1.6特有的.以前版本的jQuery不会遇到这个问题.但是,我在这里发布了一个解决方案:使用jQuery为复选框设置"checked"?