我有一组单选按钮可以在单击时触发事件,在我的情况下更改。
在我的情况下,我有5个选项。问题是,当我点击第一个选项(“从未到达”)时,事件会毫无问题地触发,但如果我再次尝试触发,它会停止,它不起作用。在我的情况下,我需要使用“更改”事件,我可以在同一个元素中多次激活事件吗?
示例html:
<label class="btn btn-info">
<input type="radio" name="options" id="optiond1" class="btndelayhours" autocomplete="off" d="9"> NEVER ARRIVED
</label>
<label class="btn btn-info">
<input type="radio" name="options" id="optiond1" class="btndelayhours" autocomplete="off" d="5"> some toher info
</label>
JS:
$(".btndelayhours").on('change', function(){
Do some stufff...}..
答案 0 :(得分:1)
在这种情况下,您可以使用click()
事件,因为只有在值更改的情况下才会触发change()
事件:
$(".btndelayhours").on('click', function(){
//Your code
})
希望这有帮助。
$(".btndelayhours").on('click', function(){
console.log($(this).parent().text().trim()+' clicked');
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="btn btn-info">
<input type="radio" name="options" id="optiond1" class="btndelayhours" autocomplete="off" d="9"> NEVER ARRIVED
</label>
<label class="btn btn-info">
<input type="radio" name="options" id="optiond1" class="btndelayhours" autocomplete="off" d="5"> some toher info
</label>
&#13;
答案 1 :(得分:1)
on('change'
仅在值更改时触发,
您应该使用on('click'
代替
$(".btndelayhours").on('click', function() {
console.log(this.id, this.checked);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="btn btn-info">
<input type="radio" name="options" id="optiond1" class="btndelayhours" autocomplete="off" d="9">NEVER ARRIVED</label>
<label class="btn btn-info">
<input type="radio" name="options" id="optiond2" class="btndelayhours" autocomplete="off" d="5">some toher info</label>
&#13;
答案 2 :(得分:1)
如果再次单击相同的单选按钮,它将不会再次触发。因为你写了change
事件。再次单击相同的单选按钮时,单选按钮的状态不会更改。如果您确实需要这样做,请尝试点击事件。
请参阅plunker https://plnkr.co/edit/ZbnyajwywN71jZd2xEvc?p=preview