我已经做了几天这件事,我似乎无法找到正确的方法来做到这一点。当用户取消选中复选框时,我想要的是它应该提交复选框的ID然后将其删除到表格中。
// JS
<script>
$(document).ready(function(){
$('#list-tbl tr').each(function(){
var $this = $(this);
var ID = $(this).attr("id").replace("tr","");
var user_id = $('#user_id').val();
var read = $('#read'+ID).val();
var add = $('#add'+ID).val();
var approve = $('#approve'+ID).val();
$('input[type=checkbox]', $this).change(function(){
if($('.read'+ID, $this).is(':checked')){
$('input[type=checkbox]', $this).prop('disabled',true);
$.ajax({
type: "POST",
url: "<?= base_url('admin/update/read')?>",
data: "read="+ read + "&user_id=" + user_id,
success: function(){
$('form#submit').hide();
alert("Permission added");
$('div.success').fadeIn();
}
});
$(this).prop('disabled',false);
} else if($('.add'+ID, $this).is(':unchecked')) {
$('.read', $this).prop('disabled', true);
$.ajax({
alert("FU");
}
});
$(this).prop('disabled', false);
} else if($('.add'+ID, $this).is(':checked')) {
$('.read', $this).prop('disabled', true);
$.ajax({
type: "POST",
url: "<?= base_url('admin/update/add')?>",
data: "add="+ add + "&user_id=" + user_id,
success: function(){
$('form#submit').hide();
alert("Permission add added");
$('div.success').fadeIn();
}
});
$(this).prop('disabled', false);
} else if($('.approve'+ID, $this).is(':checked')) {
$('.read', $this).prop('disabled', true);
$.ajax({
type: "POST",
url: "<?= base_url('admin/update/approve')?>",
data: "approve="+ approve + "&user_id=" + user_id,
success: function(){
$('form#submit').hide();
alert("Permission approve added");
$('div.success').fadeIn();
}
});
$(this).prop('disabled', false);
}
else{
$('input[type=checkbox]', $this).prop('disabled',false);
$(this).prop('disabled',false);
}
});
});
});
我还希望将复选框初始化为它们应该是什么。规则是。
当用户具有读取权限时(应禁用添加和批准)。 当用户添加/批准时(应该禁用只读)。
在我的jQuery脚本上它已经可以工作了,但是如果重新加载它就不会..
HTML:
<table width="100%" id="list-tbl"><form id="permissions2"><tr id="tr2"><td>Sia Olsen</td><td align="right"><input type="hidden" name="user_id" id="user_id" value="2" />Read <input type="checkbox" name="read2" id="read2" class="read2" checked />Add <input type="checkbox" name="add2" id="add2" class="add2" checked />Approve <input type="checkbox" name="approve2" id="approve2" class="approve2" checked /></td></tr></form><form id="permissions3"><tr id="tr3"><td>Mary Lee</td><td align="right"><input type="hidden" name="user_id" id="user_id" value="3" />Read <input type="checkbox" name="read3" id="read3" class="read3" checked />Add <input type="checkbox" name="add3" id="add3" class="add3" />Approve <input type="checkbox" name="approve3" id="approve3" class="approve3" /></td></tr></form></table>
</div></div>
答案 0 :(得分:1)
您必须根据用户数据替换“已检查”属性。基本上,它应该是这样的:
<input type="checkbox" name="read2" <?php if ($is_readable) { echo 'checked'; } ?> >