2015-06-26 2 views
-1

Я хочу conastantly проверить, если значение изменяется .. Таким образом, если пользователь выбирает новое значение в форме ввода Я хочу, чтобы запустить некоторые JS код ..проверить, если значение поля изменилось с JQuery

<div class="select2-container country_to_state country_select" id="s2id_billing_country" style="width: 100%;"> 
    <a href="javascript:void(0)" class="select2-choice" tabindex="-1"> 
     <span class="select2-chosen" id="select2-chosen-1">Schweiz</span> 
     <abbr class="select2-search-choice-close" /> 
     <span class="select2-arrow" role="presentation"> 
    <b role="presentation"/> 
    </span> 
    </a> 
    <label for="s2id_autogen1" class="select2-offscreen">Land *</label> 
    <input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-1" id="s2id_autogen1" /> 
</div> 
<select name="billing_country" id="billing_country" class="country_to_state country_select " tabindex="-1" title="Land *" style="display: none;"> 
    <option value="">Land auswählen…</option> 
    <option value="DE" selected="selected">Deutschland</option> 
    <option value="CH">Schweiz</option> 
    <option value="AT">Österreich</option> 
</select> 

Я пробовал это до сих пор (не работает)

$('#select2-chosen-1').change(function() { 
    alert("change"); 
}); 
+0

Я думаю, такая же проблема с идентификатором. Вы можете изменить id –

+1

'Так что если пользователь выбирает новое значение в форме ввода 'Но вы разместили HTML-разметку, относящуюся к элементам' span', а не 'input'. Итак, если это ваша соответствующая HTML-разметка, как вы изменяете контент span? –

+0

Пожалуйста, проверьте, существует ли событие onchange для span, – Robin

ответ

1

Прежде всего, у вас никогда не должно быть двух элементов с одинаковым идентификатором на странице. Используйте классы вместо

<span class="select2-chosen">Value 1</span> 
<span class="select2-chosen">Value 2</span> 

$('input').on('change', '.select2-chosen', (function() 
{ 
    alert("change"); 
}); 

Здесь мы должны были реализовать делегированный слушатель событий для ввода, который получает динамически генерируется select2 после страницы конкретизации. Затем мы слушаем это событие change и alert.

Альтернативно, дайте <input class="select2-focusser select2-offscreen" и <select name="billing_country".. класс из someClass и слушать изменения

$('.someClass').change(function() 
{ 
    alert("change"); 
}); 
+0

Нет события по умолчанию 'onchange' для элемента' span' –

+0

Подождите, возможно, неправильная разметка HTML размещена в вопросе, потому что OP говорил о 'input ', так что не уверен, чего ожидать :) –

+0

Я отредактирую его за секунду и опубликую всю форму извините .. –

0

Попробуйте указать все входы в вместо:

$('.select2-chosen').find(':input').change(function() 
{ 
alert("change"); 
}); 

надеюсь, что это помогает

Смежные вопросы