我有此代码:
success: function (data) {
$('#' + idDivRefresh).endLoading();
if (data.message != '@Geral.Sucesso') {
$('#' + idDropDown + 'option:selected').prop("selected", false)
$('#input-' + idDropDown).val('');
$('#' + idDropDown + 'option').each(function () {
if (this.defaultSelected) {
this.selected = true;
return false;
}
});
alert(data.message);
}
}
我清除了下拉菜单中选择的选项。 但是当我再次选择另一个选项时,“ onChange”功能不起作用。
HTML
<div id="iddb78e" class="field-Small">
<select data-val="true" data-val-number="The field Ente must be a number." id="iddb78e" name="fornecedorVerbal.IdEnteIniciativaInvestment" style="display: none;">
<option value=""> </option>
<option value="4">30B66 - BUY CHANGES</option>
</select>
<input class="dropdown" type="text" id="input-iddb78e" autocomplete="off"></div>
脚本OnChange
<script language="javascript" type="text/javascript">
$("#iddb78e select")
.change(function () {
Tst(53287)
})
.loadOptions('/Tst/Method/ListarJsonEnte?IdIniciativa=2105')
.turnAutoComplete();
</script>
怎么了?
答案 0 :(得分:2)
使用以下表达式构建的CSS选择器:
'#' + idDropDown + 'option'
...将成为...
'#iddb78eoption'
因此jQuery将使用显然找不到的id
iddb78eoption 查找元素。因此没有任何结果。
您真正想要的是一个空格(或大于号):
'#iddb78e option'
因此请确保像这样添加该空间:
'#' + idDropDown + ' option'
您的代码中有两个地方需要发生这种情况。