2013-04-02 31 views
0

如何在以下onchange中添加2个选项?Javascript Onchange格式化

含义,我想它的结束是这样的:Select(select_2,'divShow',1-2);

所以,无论是在下拉列表中第一个或第二个选项将触发JS

onchange="opConfig.reloadPrice();Select(select_2,'divShow',2); 

HTML李 的要求请注意,ID全部由magento生成,因此增加了一些难度。

  <select name="options[7]" id="select_7" class=" required-entry product-custom-option" title="" 
onchange="opConfig.reloadPrice();Select(select_7,'divShow',2);"> 
<option value="" >-- Please Select --</option> 
<option value="18" >No </option> 
<option value="19" >Yes </option></select> 

的Javascript

<script type="text/javascript"> 
function Select(sel,id,nu){ 
document.getElementById(id).style.display=sel.selectedIndex==nu?'block':'none'; 
} 
</script> 
+2

甚至不使用内联JS ......这是怎样。 – jeremy

+0

我不明白我在另一篇文章中被告知,这是我需要做的,以便隐藏一个字段,直到从下拉菜单中选择一个选项。如果你能告诉我另一种方法来隐藏一个字段,除非下拉菜单中的任何选项被选中,否则我会很感兴趣。 – Jordan

+0

还是有一个通配符,我可以放在那里?而不是一个数字? – Jordan

回答

0

我得到它的工作:)我做了以下更改。

 <script type="text/javascript"> 
function Select(sel,id,nu){ 
document.getElementById(id).style.display=sel.selectedIndex!==nu?'block':'none'; 
} 
</script> 

onchange="opConfig.reloadPrice();Select(select_2,'divShow',0); 
0

更安全的方式做,这将是如下。

var eventListener = function(el, type, listener) { 
    if(el.addEventListener) { 
     el.addEventListener(type, listener, false); 
    } else if(el.attatchEvent) { 
     el.attatchEvent("on"+type, listener); 
    } else { 
     el["on"+type] = listener; 
    } 
}; 

var element = document.getElementById("el-ID"); //some kind of reference to your element 

eventListener(element, "change", function() { 
    opConfig.reloadPrice(); 
    Select(select_2,'divShow',2); 
}); 
+0

我得到它的工作:) – Jordan