0

如何在以下 onchange 中放置 2 个选项?

这意味着我希望它的结尾是这样的:Select(select_2,'divShow',1-2);

所以下拉菜单中的第一个或第二个选项都会触发 JS

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

Lee 要求的 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>
4

2 回答 2

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);
});
于 2013-04-02T21:53:37.990 回答
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);
于 2013-04-02T22:29:18.067 回答