https://jsfiddle.net/silenthunter206/96ukznye/
У меня есть выбор ввода с ID = "COUNTRYID", и значение "LOCAL" получается, когда я нажимаю на определенные карты, используя JQUERY.Прежде чем я объясню, моя логика уже верна.Но JQUERY часть не является.
Когда LOCAL равен '1', он сначала отключит все OPTION, затем найдет OPTION ID = "MY" и включит только этот.
И когда LOCAL не равен "1", всеОПЦИИ включены.
Моя проблема:
Когда LOCAL равен '1', я не могу и не должен иметь возможность нажимать другие параметры, кроме OPTION ID = "MY", и он работает должным образоми я заставляю его быть "выбранным", используя JQUERY.
Но когда я нажимаю на другие карты, а LOCAL не равен 1, и я нажимаю OPTION ID = "US" , тогда я снова нажимаю на карты, которые LOCAL равен 1 , выделенная строкаостается на ID = "США".Моя следующая проблема - когда я отправляю форму, вместо ID = "MY" отправляется ID = "US", хотя все опции, кроме ID = "MY", включены, и я явно установил атрибут OPTION ID = "MY" как выбранный
Как выделить опцию как фактическое событие щелчка вместо простого добавления атрибута, выбранного для опции?
Я пробовал keydown (), keyup () и focus () и нажмите (), но ни одна из них не выделяет опцию, у которой attr "selected"
if(LOCAL =='1'){
$('#COUNTRYID > option').each(function(){
var ID = $(this).attr("id");
$(this).attr("disabled", "disabled");
})
$("#COUNTRYID option[id=MY]").removeAttr("disabled");
$("#COUNTRYID option[id=MY]").attr("selected","selected");
}else{
$('#COUNTRYID > option').each(function(){
var ID = $(this).attr("id");
if(ID == 'COUNTRYIDLABEL'){
$(this).attr("disabled", "disabled");
}else{
$(this).removeAttr("disabled");
}
});
$("#COUNTRYID option[id=MY]").attr("selected","selected");
}