下面的表结构是从其中的rest调用中生成的输入复选框,在创建表之前,我希望禁用一个静态按钮,除非单击了任何复选框。
<div id="divbuttons">
<button id="Reject" type="button">Reject</button>
<button id="Approve" type="button">Approve</button>
</div>
<table id="GetItems" cellspacing="12">
<tbody>
<tr style="background-color: rgb(204, 204, 204);">
<td style="width: 349px;"><strong>Select</strong>
<input name="chk" type="checkbox" value="35">
</td>
<td style="width: 211px;"> </td>
<td style="width: 396px;"><strong>Requester: </strong>Test user</td>
<td style="width: 149.2px;"><strong>Raised Date:</strong> 29/11/2017</td>
<td style="width: 806.8px;" colspan="3"> </td></tr><tr>
<td style="width: 349px;"><strong>Item Requested For:<br>:</strong>Desktops</td>
<td style="width: 211px;"><strong>Bomb<br> </strong>ITSS</td>
<td style="width: 396px;"><strong>Department:</strong><br>ITSS Infrastructure</td>
<td style="width: 149.2px;"><strong>Job Title:</strong><br>Consultant</td>
<td style="width: 376.8px;"><strong>Phone Number:</strong><br>032394</td>
<td style="width: 213px;"><strong>Request Type</strong><br>:New Allocation</td>
<td style="width: 217px;"><strong>Replacement Type:<br></strong>New Allocation</td>
</tr>
</tbody>
</table>如何使用jQuery实现这一目标?
发布于 2017-11-29 03:01:19
给你一个解决办法
$('#GetItems tbody').html(`<tr style="background-color: rgb(204, 204, 204);">
<td style="width: 349px;"><strong>Select</strong>
<input name="chk" type="checkbox" value="35">
</td>
<td style="width: 211px;"> </td>
<td style="width: 396px;"><strong>Requester: </strong>Test user</td>
<td style="width: 149.2px;"><strong>Raised Date:</strong> 29/11/2017</td>
<td style="width: 806.8px;" colspan="3"> </td></tr><tr>
<td style="width: 349px;"><strong>Item Requested For:<br>:</strong>Desktops</td>
<td style="width: 211px;"><strong>Bomb<br> </strong>ITSS</td>
<td style="width: 396px;"><strong>Department:</strong><br>ITSS Infrastructure</td>
<td style="width: 149.2px;"><strong>Job Title:</strong><br>Consultant</td>
<td style="width: 376.8px;"><strong>Phone Number:</strong><br>032394</td>
<td style="width: 213px;"><strong>Request Type</strong><br>:New Allocation</td>
<td style="width: 217px;"><strong>Replacement Type:<br></strong>New Allocation</td>
</tr>`);
$('#GetItems').on('change', 'input[name=chk]', function(){
if($(this).is(':checked')) {
$('#Reject').removeAttr('disabled');
$('#Approve').removeAttr('disabled');
} else {
$('#Reject').attr('disabled', true);
$('#Approve').attr('disabled', true);
}
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="divbuttons">
<button id="Reject" type="button" disabled>Reject</button>
<button id="Approve" type="button" disabled>Approve</button>
</div>
<table id="GetItems" cellspacing="12">
<tbody>
</tbody>
</table>
我认为table和tbody是静态的,行是动态添加的。
由于复选框是动态生成的,因此需要委托更改事件。
希望这个解决方案能帮到你。
发布于 2017-11-29 01:44:06
试试下面的代码:JSFiddle
$("input[name='chk']").on("change",function(){
if(!$(this).is(':checked')) {
$('#Reject').prop('disabled', true);
$('#Approve').prop('disabled', true);
} else {
$('#Reject').prop('disabled', false);
$('#Approve').prop('disabled', false);
}
});https://stackoverflow.com/questions/47543684
复制相似问题