大家好,所以我遇到了进退两难的局面,并且不太确定为什么我的代码无效。我明白它应该做什么。但它没有做到它应该做的事情。请有人看看他们是否可以调试我的代码。太感谢了。 它应该根据选择的选项设置属性
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");
}
答案 1 :(得分:1)
它不起作用的原因是因为你将vanilla JS与jQuery混合在一起。您通过jQuery选择器获得了#required_tracks_id,但setAttribute()是一个JS函数。所以,你可以做以下任何一种:
document.querySelector("#required_tracks_id").setAttribute("sku", "xxx");
或者
$("#required_tracks_id").attr("sku", "xxx");