jquery设置checkbox选中
我已经尝试了所有可能的方法,但是我仍然没有得到它的工作。 我有一个checkbox
的模式窗口,我希望当模式打开, checkbox
检查或取消选中应该基于数据库值。 (我已经和其他人一起工作了。)我开始试着去检查它,但是没有成功。
我的html div:
<div id="fModal" class="modal" > ... <div class="row-form"> <div class="span12"> <span class="top title">Estado</span> <input type="checkbox" id="estado_cat" class="ibtn"> </div> </div> </div>
和jQuery的:
$("#estado_cat").prop( "checked", true );
我也尝试过attr
和在论坛上看到的其他人,但没有一个能够工作。 有人能指点我吗?
编辑:好的,我真的错过了这里的东西…我可以检查/取消选中使用代码,如果checkbox是在页面中,但它是在模态窗口,我不能。 我尝试了几十种不同的方式
我有一个链接,应该打开模式:
和jquery“聆听”点击并执行一些操作,如用数据库中的数据填充一些文本框。 一切工作就像我想但问题是,我不能设置checkbox选中/未选中使用代码。 请帮助!
$(function() { $(".editButton").click(function(){ var id = $(this).data('id'); $.ajax({ type: "POST", url: "process.php", dataType:"json", data: { id: id, op: "edit" }, }).done(function( data ) { //the next two lines work fine, ie, it grabs the value from database and fills the textboxes $("#nome_categoria").val( data['nome_categoria'] ); $("#descricao_categoria").val( data['descricao_categoria'] ); //then I tried to set the checkbox checked (because its unchecked by default) and it does not work $("#estado_cat").prop("checked", true); $('#fModal').modal('show'); }); evt.preventDefault(); return false; }); });
你必须使用'道具'function:
.prop('checked', true);
在jQuery 1.6之前 (请参阅user2063626的答案 ):
.attr('checked','checked')
采取所有build议的答案,并将其应用到我的情况 – 尝试检查或取消选中一个checkbox基于检索值为真(应检查框)或错误(不应该选中框) – 我尝试了所有上述和发现使用.prop(“checked”,true)和.prop(“checked”,false )是正确的解决scheme。
我不能添加评论或答案,但我觉得这很重要,可以增加对话。
以下是全日历修改的长手代码,说明检索的值“allDay”是否为true,然后选中ID为“even_allday_yn”的checkbox:
if (allDay) { $( "#even_allday_yn").prop('checked', true); } else { $( "#even_allday_yn").prop('checked', false); }
伙计尝试下面的代码:
$("div.row-form input[type='checkbox']").attr('checked','checked')
要么
$("div.row-form #estado_cat").attr("checked","checked");
要么
$("div.row-form #estado_cat").attr("checked",true);
既然你是在一个模式窗口(无论是dynamic的还是在页面中),你可以使用下面的代码来实现你的目标:(我在我的网站上遇到同样的问题,这是我如何修复它)
HTML:
<div class="content-container" style="text-align: right;"> <input type="checkbox" id="QueryGroupCopyQueries"> <label for="QueryGroupCopyQueries">Create Copies</label> </div>
码:
$.each(queriesToAddToGroup, function (index, query) { if (query.groupAddType === queriesGroupAddType.COPY) { // USE FIND against your dynamic window and PROP to set the value // if you are using JQUERY 1.6 or higher. $(kendoWindow).find("input#QueryGroupCopyQueries").prop("checked", true); return; }
在上面的“kendoWindow”是我的窗口(我的是dynamic的,但我也直接在页面追加元素时这样做)。 我通过一系列数据循环(“queriesToAddToGroup”)来查看是否有行具有COPY属性。 如果是的话,我想打开窗口中的checkbox,当用户从这个窗口中保存时,该窗口中设置该属性。
“检查”属性“勾选”checkbox,只要它存在。 因此,要选中/取消选中checkbox,您必须设置/取消设置属性。
为了检查框:
$('#myCheckbox').attr('checked', 'checked');
取消选中该框:
$('#myCheckbox').removeAttr('checked');
为了testing检查状态:
if ($('#myCheckbox').is(':checked'))
希望能帮助到你…
.attr("checked",true) .attr("checked",false)
将工作。确保真假不在报价单内。
你可以写下面给出的代码。
HTML
<input type="checkbox" id="estado_cat" class="ibtn">
jQuery的
$(document).ready(function(){ $(".ibtn").click(function(){ $(".ibtn").attr("checked", "checked"); }); });
希望它为你工作。
$("#divParentClip").find("#subclip_checkbox")[0].checked=true;
查找将返回数组,因此即使只有一个项目,也可以使用[0]来获取数组
如果你不使用查找然后
$("#subclip_checkbox").checked=true;
这在Mozilla Firefox对我来说工作得很好
为我工作:
$checkbok.prop({checked: true});
试试这个,因为你正在使用jQuery UI大概(如果不是请评论)
$("#fModal" ).dialog({ open: function( event, ui ) { if(//some hidden value check which stores the DB value==expected value for checking the Checkbox) $("div.row-form input[type='checkbox']").attr('checked','checked'); } });
您是否尝试过在您的checkbox上运行$("#estado_cat").checkboxradio("refresh")
?
这工作。
$("div.row-form input[type='checkbox']").attr('checked','checked');
这是因为你用最新版本的jquery attr('checked')
返回'checked'
而prop('checked')
返回true
。
我也遇到过这个问题。
这里是我的老不工作的代码
if(data.access == 'private'){ Jbookaccess.removeProp("checked") ; //I also have tried : Jbookaccess.removeAttr("checked") ; }else{ Jbookaccess.prop("checked", true) }
这是我现在工作的新代码:
if(data.access == 'private'){ Jbookaccess.prop("checked",false) ; }else{ Jbookaccess.prop("checked", true) }
所以,关键是在它的工作之前,确保检查的属性确实存在,并没有被删除。
加载模态窗口后设置checkbox。 我想你是加载页面前设置checkbox。
$('#fModal').modal('show'); $("#estado_cat").attr("checked","checked");