0

value=""仅当(引号内没有任何内容)时,我才需要能够隐藏单击选择字段中的选项时出现的图像。如果选项中的 value="some_url" ,那么我希望显示图像。

单击选项时,我使用以下代码显示图像。但是当使用 onClick 时,即使选项 value="" 也会显示图像。

这是我正在使用的 Javascript:

function showImage() {
    document.getElementById('openimg').style.display = 'block';

这是html:

<select name="" >
   <option value="url" onclick="showImage();">Some_option_1</option>
   <option value="">Some_option_2</option>
   <option value="">Some_option_3</option>
 </select>

<a href='url_2'><img src='images/some_img.jpg' id='openimg' style='display:none'></a>

我只在一个选项中插入了一个 onClick 命令,只是为了表明它有效。似乎我需要一个 if 语句来“显示 if”或“隐藏 if”以及每个选项中的 onClick 命令。

4

2 回答 2

1

我会这样做:

<script type="text/javascript">
function showImage()
{
    var choice = document.getElementById('myDropDown').value;
    if(choice.length > 0)
    {
        document.getElementById('openimg').style.display = 'block';
    }
    else
    {
        document.getElementById('openimg').style.display = 'none';
    }
}
</script>

<select id="myDropDown" onchange="showImage()">
<option value="url">Some_option_1</option>
<option value="">Some_option_2</option>
<option value="">Some_option_3</option>
</select>
<a href='url_2'><img src='images/some_img.jpg' id='openimg' style='display:none'></a>
于 2012-05-09T17:23:14.653 回答
0

嗯,您是在问如何使用 if 或如何确定选择了什么?

首先,在下拉列表中使用 onchange 事件。

这是用于说明目的的 LONGHAND 方式。

function onChange(){

    var mySelect = document.getElementById("my-select");
    var selectedValue = "";

    for( var i = 0; i < mySelect.length;i++){
       if( mySelect[i].selected)
         selectedValue = mySelect[i].value;        
    }

    if( selectedValue == "whatever")
    {
           //do something
    }

    if( selectedValue == "ugh")
          // do something else


}
于 2012-05-09T17:23:54.503 回答