2014-01-22 70 views
14

我使用Chosen jQuery插件,並注意到change事件工作在頁面加載時,每次input領域正在被改變的時間。選的插件更改事件沒有觸發

如何在每次用戶更改輸入字段的值時使其工作?

這裏是我的代碼:

$("#day").chosen().change({ 
    console.log('working'); 
    }); 

我這麼想嗎?

+0

這個答案包含一個有效的解決方案: http://stackoverflow.com/questions/11279898/binding-event-to-chosen-select –

回答

1

然後把它寫在輸入的keyup事件:

$('inputselector').keyup(function() { 
    $("#day").chosen().change({ 
    console.log('working'); 
    }); 
});​ 

和DOM已準備就緒:

$('inputselector').trigger('keyup'); 
+0

仍然不工作先生。 – user3093453

13

要發射標準的變化情況下,使用這樣的:

$('#day').on('change', function(e) { 
    // triggers when whole value changed 
    console.log("value changed"); 
    }); 

要在每個按鍵上觸發事件,

$('#day').on('keyup', function(e) { 
    // triggers when each key pressed 
    console.log("key pressed"); 
    }); 

要了解所選的默認事件,請參閱here

4

更新獲選動態

如果您需要在您的選擇字段更新選項,並要選擇拿起變化,你需要觸發「選擇:更新」在球場上的事件。 Chosen會根據更新的內容重新構建自己。

$("#foo").trigger("chosen:updated");
14

試試這個:

$(document).ready(function(){ 
    $("selector").chosen().change(function(){ 
     var id = $(this).val(); 
    }); 
}) 
+0

這不起作用! –

0
//Asp.net dropdown listbox 
    <asp:ListBox ID="CompanySelect" runat="server" AppendDataBoundItems="true" 
    AutoPostBack="true" 
    data-placeholder="Select Companies" class="chosen-select" SelectionMode="Multiple" 
    EnableViewState="true" Height="39px" Width="99%" > 
    <asp:ListItem Value="0">All</asp:ListItem> 
    </asp:ListBox> 

    //This code help me for hiting chozen change event. 

    $('#chosen').val('').change() 
     { 
      alert("working"); 
     } 

    //if you want to get select value you need to do this. 

    $('#chosen').val('').change() 
     { 
      alert($(".chosen-select").val()); 
     } 
+0

考慮爲您的代碼提供解釋 – arghtype

+0

儘管此代碼可能有助於解決問題,但它並未解釋_why_和/或_how_它是如何回答問題的。提供這種附加背景將顯着提高其長期價值。請[編輯]您的答案以添加解釋,包括適用的限制和假設。 –