簡體   English   中英

復選框的Javascript OnChange

[英]Javascript OnChange for Checkbox

我的表單中有5個復選框和1個textarea,並且只想為所有這些鈎上OnChange()。 但是,無論出於何種原因,我似乎都沒有在Stack Overflow上找到任何東西。

因為這是我找到的最基本的示例,所以這有什么問題?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"/>
<script type="text/javascript">
$(document).ready(function()
{
    $("input").on("input", function()
    {
        alert("CHANGED");
    });
}
</script>

您應該處理更改事件:

$('input:checkbox,textarea').change(function () {
   alert('changed');
});

僅當輸入文本更改時才會觸發oninput事件,因此不會為復選框觸發它。 嘗試綁定到復選框的change事件和textareas上的input事件:

$("textarea").on("input", yourFunction);
$("input:checkbox").on("change", yourFunction);

function yourFunction() {
    alert("CHANGED");
}

jsFiddle演示了以上內容。

注意 :此答案的不同之處在於,不僅在元素模糊時, textareatextarea立即觸發alert

附加說明 :<IE9中不支持oninput事件

為什么將input事件綁定到復選框,僅對文本區域有效?

您需要綁定change事件:

試試這個:

更新

$(document).ready(function()
{
    $("textarea").on("input", function(){
      alert("CHANGED");
    });

    $("input").on("change", function(){
        alert("CHANGED");
    });
});

嘗試擺弄

通常與同一個name屬性一起使用的復選框,因此在選擇器name屬性中將很有用

$("input[name='interests']").change(function(){
   /*some code*/
});

它不適用於textarea。 您可以為所有單選按鈕和textarea分配相同的類別,然后

$(".your_class_name").on("change", function()
{
    alert("CHANGED");
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM