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");