onchange不适用于Firefox

Bur*_*mir 6 html javascript firefox jquery

选择onchange适用于Chrome和Opera,但它不适用于Firefox.你介意帮帮我吗?我该怎么做才能为所有浏览器修复它?

var tehlikeliNace = ["01.11.07", "01.11.12"];
var aztehlikeliNace = ["01.30.04", "01.63.05"];
var coktehlikeliNace = ["01.61.04", "01.61.06"];

function naceKoduDegisti() {


  if (jQuery.inArray($("#nace_kod").val(), aztehlikeliNace) >= 0) {
    $("#tehlike_sinifi option[value='1']").attr('selected', 'selected');
  }
  if (jQuery.inArray($("#nace_kod").val(), tehlikeliNace) >= 0) {
    $("#tehlike_sinifi option[value='2']").attr('selected', 'selected');
  }
  if (jQuery.inArray($("#nace_kod").val(), coktehlikeliNace) >= 0) {
    $("#tehlike_sinifi option[value='3']").attr('selected', 'selected');
  }

}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="nace_kod" onchange="naceKoduDegisti()">
  <option value="01.11.07">01.11.07</option>
  <option value="01.30.04">01.30.04</option>
  <option value="01.61.04">01.63.05</option>
  <option value="01.11.12">01.13.18</option>
  <option value="01.63.05">02.40.04</option>
</select>

<select id="tehlike_sinifi">
  <option value="1">"Az Tehlikeli"</option>
  <option value="2">"Tehlikeli"</option>
  <option value="3">"Çok Tehlikeli"</option>
</select>
Run Code Online (Sandbox Code Playgroud)

R3t*_*tep 0

selected您永远不会删除标签上的属性option。因此,使用脚本后,您的 html 代码如下所示:

\n\n
<select id="tehlike_sinifi"> \n    <option value="1" selected="selected">"Az Tehlikeli"</option>      \n    <option value="2" selected="selected">"Tehlikeli"</option> \n    <option value="3" selected="selected">"\xc3\x87ok Tehlikeli"</option>     \n</select> \n
Run Code Online (Sandbox Code Playgroud)\n\n

Firefox 不知道选择哪个选项。

\n\n

尝试使用函数val()而不是设置属性selected

\n\n

来自 jQuery 文档

\n\n
\n

[jQuery.val] 检查或选择所有与该组值匹配的单选按钮、复选框和选择选项。

\n
\n\n

使用该功能val(),它工作正常。

\n\n
if ($.inArray($("#nace_kod").val(), aztehlikeliNace) >= 0) {\n    $("#tehlike_sinifi").val(1);\n}\nif ($.inArray($("#nace_kod").val(), tehlikeliNace) >= 0) {\n    $("#tehlike_sinifi").val(2);\n}\nif ($.inArray($("#nace_kod").val(), coktehlikeliNace) >= 0) {\n    $("#tehlike_sinifi").val(3);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

演示

\n