我有下表
<tbody>
<?php
foreach($redeemSales as $sale)
{
?>
<tr value='<?php echo $sale['id']; ?>'>
<td><input type="checkbox" name="salesIds[]" value="<?php echo $sale['id']; ?>" /></td>
<td><?php echo $sale["ring"];?></td>
<td><?php echo formatFullDate($sale["soldDate"]) ?></td>
<td><?php echo $sale["saleType"]; ?></td>
<td>
<div class="col-lg-8">
<select name="claimTypes[]" class="form-control redeemOptions">
<option value="None">None</option>
<option value="CD">CherieDori Credit (CD)</option>
<option value="Amex">American Express Card (Amex)</option>
</select>
</div>
</td>
</tr>
<?php }?>
</tbody>
在更改redeemOptions的任何值时,应检查相应的Checkbox。现在我不希望别人自动点击复选框。所以我禁用它们,当我在redeemOptions中更改选项时,检查得到。这是javascript代码
$('.redeemOptions').change(function()
{
var menuChanged = $(this);
parentForm = menuChanged.closest('form');
correspondingCheckbox = parentForm.find('input[name=salesIds]');
var status = (menuChanged.val() === 'None') ? false : true;
$(this).closest('tr').children()[0].childNodes[0].checked = status;
});
我有一个按钮,它可以获得与仅选中复选框相关联的所有saleIds
这是代码
$('.redeemBtn').on('click', function()
{
$('input[name="salesIds[]"]').disabled = false;
var checked = $('input[name="salesIds[]"]:checked').serialize();
var cclaim = $('select[name="claimTypes[]"]').serialize();
if(checked !== '')
window.location.href = 'actions.php?j=4&' + checked + '&' + cclaim;
else
alert('No sales were selected');
});
如果我从复选框中删除禁用,它工作正常,否则它给出“没有选择销售”,但我不想删除禁用。我不希望用户与之交互。如何获取显示为已检查的复选框的值。应该做什么
答案 0 :(得分:0)
对于webdev来说,这是一个非常常见的情况。在这种情况下,您应该添加一些hidden
输入。
<input type="hidden" name="salesIds[]" value="smth">
并保留没有name
的复选框以用于“演示”目的。
答案 1 :(得分:0)
你不能这样做,你需要启用它来查看/获取服务器端(否则“客户端根本不会发送它”)。 “提交”中的浏览器“不包括已禁用的控件”,因为它们“不算作”成功的“控件”。
因此,在提交时默认为此复选框指定一些值。
请参阅此文章:http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2
按钮上的 例如: enable/disable
复选框
<html>
<head>
<title></title>
<script type="text/javascript">
function chk_control(str) {
if(str=='dsb'){document.getElementById('ck1').disabled=true;}
else {document.getElementById('ck1').disabled=false;}
}
</script>
</head>
<body >
<form name=form1 method=post action=check.php>
<table>
<tr ><td ><input type=checkbox name=ckb id=ck1 value=1></td><td >PHP</td></tr>
<tr ><td ><input type=button value='Disable' onClick="chk_control('dsb')";></td>
<td ><input type=button value='Enable' onClick="chk_control('enb')";></td></tr>
</table></form>
</body>
</html>
答案 2 :(得分:0)
$('#id of checkbox').prop("disabled", false);
这将启用该字段。如果您需要获取已禁用的字段值,请在单击提交后启用它。这是获取值的最简单方法。