我有一个表格,其中有2个文本框和一个按钮,如果任何文本框为空,我想禁用该按钮。
我使用了以下jquery来执行此操作 -
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('https://www.otherdomain.com/sw.js').then(function(registration) {
// Registration was successful
console.log('ServiceWorker registration successful with scope: ', registration.scope);
}, function(err) {
// registration failed :(
console.log('ServiceWorker registration failed: ', err);
});
});
}`
但我遇到的问题是,这只适用于表格的第一条记录,而不适用于所有记录。
那么,我应该怎样做才能为表格的所有记录做这件事呢?
答案 0 :(得分:1)
您需要使用类而不是ID。
$(document).ready(function () {
$('.textarea').keyup(function () {
var tableRow = $(this).closest("tr")
var disable = !!tableRow.find(".textarea").toArray().find((textarea) => { return textarea.value.length === 0});
tableRow.find('.btnSend').first().attr('disabled', disable);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td><input type="button" class="btnSend" value="Send" disabled/></td>
<td><textarea class="textarea"></textarea></td>
<td><textarea class="textarea"></textarea></td>
</tr>
<tr>
<td><input type="button" class="btnSend" value="Send" disabled/></td>
<td><textarea class="textarea"></textarea></td>
<td><textarea class="textarea"></textarea></td>
</tr>
</table>