Ответ 1
Попробуйте следующее:
$(document).ready(function(){
$("selector").chosen().change(function(){
var id = $(this).val();
});
})
Я использую Chosen плагин jQuery и заметил, что событие change
работает только когда страница загружается, НЕ каждый раз, когда изменяется поле input
.
Как я могу заставить его работать каждый раз, когда пользователь меняет значение поля ввода?
Вот мой код:
$("#day").chosen().change({
console.log('working');
});
Я что-то пропустил?
Попробуйте следующее:
$(document).ready(function(){
$("selector").chosen().change(function(){
var id = $(this).val();
});
})
Чтобы запустить стандартное событие изменения, используйте как:
$('#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");
});
Чтобы узнать о выбранных событиях по умолчанию, см. здесь.
Обновление динамически изменено
Если вам нужно обновить параметры в своем поле выбора и хотите, чтобы Chosen забирал изменения, вам нужно вызвать событие "selected: updated" в этом поле. Выбранный будет перестраиваться на основе обновленного контента.
$("#foo").trigger("chosen:updated");
Затем запишите его в событие keyup для ввода:
$('inputselector').keyup(function() {
$("#day").chosen().change({
console.log('working');
});
});
и на dom ready:
$('inputselector').trigger('keyup');
//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());
}