我已经试过了所有可能的方法,但还是没有成功。我有一个带有复选框
的模式窗口,我希望当模式打开时,复选框
的选中或取消选中应该基于数据库值。(我已经与其他表单字段一起工作了。)我开始试着检查,但没有用。
我的HTML分区:
<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
和其他在论坛上看到的,但似乎都不起作用。
有人能给我指出正确的方法吗?
好吧,我真的漏了点什么。如果复选框在页面中,我可以使用代码勾选/取消勾选,但如果它在模态窗口中,我就不能。我试了几十种不同的方法。
我有一个可以打开模式的链接:
<a href='#' data-id='".$row['id_cat']."' class='editButton icon-pencil'></a>
和jQuery来“监听”点击并执行一些操作,例如用来自数据库的数据填充一些文本框。每件事都像我想要的那样工作,但问题是我不能使用代码设置checkbox checked/unchecked。救命啊!
$(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,
// i.e. 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 it's unchecked by default)
// and it does not work
$("#estado_cat").prop("checked", true);
$('#fModal').modal('show');
});
evt.preventDefault();
return false;
});
});
你必须使用'prop'功能:
.prop('checked', true);
在jQuery 1.6之前(请参阅user2063626的答案):
.attr('checked','checked')