我为表格中的每个单选按钮放置了 <script src="../jquery.min.js"></script>
<button id='one'>Click Me</button>
<script>
$("#one").click(function(){
console.log("The paragraph was clicked.");
});
</script>
:
.change()
我正在尝试做的是在某些情况下恢复无线电波形改变。
默认情况下,我的radiobutten标记为false(默认情况下是“否”,“否”)。如果我点击“是”,但没有达到条件,我需要保持在“否”。
我试图用这种方式做到这一点:
for (var i = 0; i < Count; i++) {
$('input[name="Options[' + i + '].Completed"]').change(function () {
var number = $(this).attr("name").match(/\d+/g)[0];
...
some action
...
});
}
但这似乎不起作用(没有任何反应,但条件正常)。
我做错了什么,我怎样才能实现目标?
修改
radiobutton html:
if (... condition ...) {
$('input[name="Options[' + i + '].Completed"]').filter('[value=False]').prop('checked', true);
}
答案 0 :(得分:0)
i
内部for
循环是所有单选按钮实例之间的共享。您需要为每个单选按钮复制它,如下所示:
for (var i = 0; i < Count; i++) {
(function (i) {
$('input[name="Options[' + i + '].Completed"]').change(function () {
var number = $(this).attr("name").match(/\d+/g)[0];
if (...condition...) {
$('input[name="Options[' + i + '].Completed"]').filter('[value=False]').prop('checked', true);
}
});
})(i);
}
此外,无需单独在for
循环中的单选按钮上附加事件。
您可以在jQuery中使用事件委派。
$(document / parentSelector).on('change', 'input[name="Options[' + i + '].Completed"]', function () {
// Event handling code here
});
答案 1 :(得分:0)
coll.find($everything, projection)