我正在尝试创建一个可以保存勾选复选框的脚本。我现在的代码禁用了add& amp;勾选读取时批准,勾选添加/批准时禁用读取。现在我遇到的问题是,当我向jquery添加ajax提交时,它不保存记录,它不再禁用复选框(假设我勾选了读取)。
这是我到目前为止所得到的。
$(document).ready(function(){
$('#list-tbl tr').each(function(){
var $this = $(this);
var id = $('#input').val();
$('input[type=checkbox]', $this).change(function(){
if($('.read', $this).is(':checked')){
$('input[type=checkbox]', $this).prop('disabled',true);
$.ajax({
type: 'POST',
url: <?= site_url('admin/update')?>,
dataType: "json",
data: { id: id },
success: function(data) {
alert("Updated");
}
});
$(this).prop('disabled',false);
} else if($('.add', $this).is(':checked') || $('.approve', $this).is(':checked')) {
$('.read', $this).prop('disabled', true);
$(this).prop('disabled', false);
} else{
$('input[type=checkbox]', $this).prop('disabled',false);
$(this).prop('disabled',false);
}
});
});
});
我有点沮丧我只想以正确的方式保存数据并执行禁用......
非常感谢。
答案 0 :(得分:1)
查看你的jsFiddle ......你实际上并没有id="input"
的HTML元素,即使你试图使用以下内容保存id:var id = $('#input').val();
这是您尝试发送到服务器的ID,但它并不存在。你真的想做什么?确定某个用户是否已阅读/添加/批准特定项目?如果是这种情况,您需要发送到服务器的是用户ID与表示用户是否读取/添加或批准项目的字符串相结合。
在一个小问题上,作为冗余和表现的问题:$(this).prop('disabled',false);
在所有条件中都很常见,可以作为一个共同因素拉到前面。