我使用了几天前我在另一个问题上提供给我的代码,但是我已经更改了我的页面的HTML,现在它不起作用,但我无法弄清楚原因。一旦计数器点击 0 ,它应该使按钮具有禁用属性,但事实并非如此。这是HTML
所以它应该是名为Dim FirstEntry As Boolean = True
stop
这是我给出的javascript代码。正如您所看到的,一旦计时器为0,它将找到该按钮并向其添加禁用属性。
<td class="text-left my-timer" data-time="10">10</td>
<form method="POST">
<td><button type="submit" name="stop" class="btn btn-effect-ripple btn-square btn-danger">Stop</button></td>
<input type="text" name="aID" value="431" class="hidden">
</form>
答案 0 :(得分:3)
submit
不是HTML元素。这是属性。
你的选择器错了。
使用属性值选择器:
$elem.next().find('button[type="submit"]').prop('disabled', true);
// ^^^^^^^^^^^^^^^^^^^^^^
您还可以使用:submit
伪选择器,如下所示:
选择提交类型的所有元素。
$elem.next().find(':submit').prop('disabled', true);
// ^^^^^^^^^
答案 1 :(得分:1)
您的HTML无效,因为form
无法成为tr
的孩子,将整个表单移动为第二个td
元素的子项,然后使用{ {3}}找到提交按钮
$(function() {
// loop over each element to activate
$('td.my-timer').each(function() {
// "this" inside "each" is current element
var $elem = $(this),
// get the time value stored in data-time attribute
sec = $elem.data('time');
// instance specific interval
var timer = setInterval(function() {
sec--;
var html = sec > 0 ? sec : "<b>Finished</b>";
$elem.html(html);
if (sec == 0) {
clearInterval(timer);
$elem.next().find(':submit').prop('disabled', true);
}
}, 1000);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<td class="text-left my-timer" data-time="10">10</td>
<td>
<form method="POST">
<button type="submit" name="stop" class="btn btn-effect-ripple btn-square btn-danger">Stop</button>
<input type="text" name="aID" value="431" class="hidden" />
</form>
</td>
</table>
&#13;
<td class="text-left my-timer" data-time="10">10</td>
<td>
<form method="POST">
<button type="submit" name="stop" class="btn btn-effect-ripple btn-square btn-danger">Stop</button>
<input type="text" name="aID" value="431" class="hidden"/>
</form>
</td>