Я не уверен, что идентификатор должен использоваться в Select-Option, в любом случае идентификатор должен быть уникальным.
Он не появляется чтобы быть какой-либо проблемой с вашим кодом.
Возможная проблема при отображении (скрытии) опции выбора, если она уже отображается.
Вы можете попробовать что-то вроде этого:
<!-- <select id="ostan" class="DdlProvince"> <option data-grp="1" value="test1">test1</option> <option data-grp="2" value="test2">test2</option> </select> <select id="shahr" class="DdlProvince"> <option data-grp="1" value="t1">t1</option> <option data-grp="1" value="t2">t2</option> <option data-grp="2" value="t3">t3</option> <option data-grp="2" value="t4">t4</option> </select>
$(document).ready(function () { $('#ostan').change(function (e) { var optionSelected = $("option:selected", this).attr('data-grp'); $("#shahr option").css('display', 'none'); $("#shahr option[data-grp='" + optionSelected + "']").css('display', 'block'); $("#shahr")[0].selectedIndex=$("#shahr option[data-grp='" + optionSelected + "']")[0].index; }); });
Надеюсь, что это поможет.
br> Ссылка на атрибут data- *, если вы заинтересованы:
<!-- <select id="ostan" class="DdlProvince"> <option data-grp="1" value="test1">test1</option> <option data-grp="2" value="test2">test2</option> </select> <select id="shahr" class="DdlProvince"> <option data-grp="1" value="t1">t1</option> <option data-grp="1" value="t2">t2</option> <option data-grp="2" value="t3">t3</option> <option data-grp="2" value="t4">t4</option> </select>
# [
$(document).ready(function () { $('#ostan').change(function (e) { var