2015-06-24 80 views
6

選擇onchange適用於Chrome和Opera,但它不適用於Firefox。你介意幫我嗎?我應該如何解決所有瀏覽器的問題?onchange不適用於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'); 
 
    } 
 

 
}
<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>

回答

0

你永遠不會刪除屬性selectedoption標籤。因此,在使用您的腳本後,您的html代碼如下所示:

<select id="tehlike_sinifi"> 
    <option value="1" selected="selected">"Az Tehlikeli"</option>  
    <option value="2" selected="selected">"Tehlikeli"</option> 
    <option value="3" selected="selected">"Çok Tehlikeli"</option>  
</select> 

Firefox不知道要選擇哪個選項。

嘗試使用功能val()而不是設置屬性selected

[jQuery.val]的檢查,或選擇的,所有的單選按鈕,複選框,以及匹配的設定值的該選擇選項。

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

if ($.inArray($("#nace_kod").val(), aztehlikeliNace) >= 0) { 
    $("#tehlike_sinifi").val(1); 
} 
if ($.inArray($("#nace_kod").val(), tehlikeliNace) >= 0) { 
    $("#tehlike_sinifi").val(2); 
} 
if ($.inArray($("#nace_kod").val(), coktehlikeliNace) >= 0) { 
    $("#tehlike_sinifi").val(3); 
} 

Demo

+0

感謝您的回覆,但它不是還在工作的Firefox R3tep .. –

+0

我使用這個腳本對Firfox ptt,它的工作。你有沒有任何錯誤信息? – R3tep

+0

我沒有得到任何錯誤消息..它適用於2或3改變,但更多它does not工作。 –

0

儘量把你的代碼在JavaScript例如:

$("#nace_kod").change(function() { 
    naceKoduDegisti(); 
}); 

我沒有這方面的問題,但在某些情況下,我遇到了麻煩訪問功能這解決了它爲了我。我希望這有幫助。

編輯:也是另一種建議,而不是:

$("#tehlike_sinifi option[value='1']").attr('selected', 'selected'); 

我會用:

$("#tehlike_sinifi").val("1"); 
0

保持你的功能腳本head否則會給錯誤ReferenceError: naceKoduDegisti is not defined

DEMO

<head> 
.... 
<script type="text/javascript"> 
    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'); 
     } 
    } 
</script> 
</head> 
相關問題