我想要彻底检查值是否发生变化..所以如果用户在输入表单中选择一个新值,我想运行一些js代码..
<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 :(得分:1)
首先,您不应该在页面上拥有2个具有相同ID的元素。而是使用类
<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");
});
答案 1 :(得分:0)
尝试在其中指定所有输入:
$('.select2-chosen').find(':input').change(function()
{
alert("change");
});
希望这会有所帮助