2017-08-20 71 views
-1

嗨,大家好,所以我遇到了困境,不太清楚爲什麼我的代碼不工作。我明白它應該做什麼。但它沒有做到它應該做的。請有人看看他們是否可以調試我的代碼。太感謝了。 它應該在此基礎上選項被選中setAttribute等於在我的條件中設置的屬性值

HTML

<select id="track_type_selected"> 
    <option value="0" >51 Track 3m</option> 
    <option value="1" >64 Track 3m</option> 
    <option value="2" >103 Track 3m</option> 
</select> 

的Javascript

var e = document.getElementById("track_type_selected"); 
    var selectedIndex = e.options[e.selectedIndex].value; 
    if(selectedIndex==0){ 
     $("#required_tracks_id").setAttribute("sku","TRACK3"); 
    } 
    if(selectedIndex==1){ 
     $("#required_tracks_id").setAttribute("sku","TRK30"); 
    } 
    if(selectedIndex==2){ 
     $("#required_tracks_id").setAttribute("sku","TRACK-1033"); 
    } 
+0

*「爲什麼我的代碼是行不通的。」 *你怎麼知道它不工作?發生什麼事?你會得到哪些錯誤? –

回答

1

在jQuery中您可以使用ATTR功能來獲取或設置任何元素設置屬性獲取像這樣的元素屬性的屬性。

$("#required_tracks_id").attr("sku"); 

,並設置元素屬性

$("#required_tracks_id").attr("sku", "Value"); 

在你的情況下使用代碼波紋管

var e = document.getElementById("track_type_selected"); 
var selectedIndex = e.options[e.selectedIndex].value; 
if(selectedIndex==0){ 
    $("#required_tracks_id").attr("sku","TRACK3"); 
} 
if(selectedIndex==1){ 
    $("#required_tracks_id").attr("sku","TRK30"); 
} 
if(selectedIndex==2){ 
    $("#required_tracks_id").attr("sku","TRACK-1033"); 
} 
+0

謝謝你的作品 –

+0

8分鐘後我會接受。 8分鐘內不允許接受 –

+0

如果你解釋了爲什麼需要使用attr,你的答案會更有幫助。 –

1

它不工作的原因是因爲你用jQuery混合香草JS 。您通過jQuery選擇器獲得了#required_tracks_id,但setAttribute()是一個JS函數。所以,你可以做以下任一:

document.querySelector("#required_tracks_id").setAttribute("sku", "xxx"); 

或者

$("#required_tracks_id").attr("sku", "xxx"); 
+0

噢,我明白了。現在有道理。謝謝 –