0

这可能会让人感到困惑或简单,我不知道。

我有一张图片,当您单击图片中的元素时,我需要下一个 div 中的下拉菜单进行更改。

<a href="eastern#browse" class="areaselect" rel="region_7" id="eastern" title="Eastern England image">Eastern England</a>
<a href="western#browse" class="areaselect" rel="region_8" id="western" title="Western England image">Western England</a>

这是链接的示例,这是下拉列表的示例。

<select name='areapick' id='apick'>
    <option value='placea'>Placea</option>    
    <option value='placeb'>Placeb</option>    
    <option value='placec'>Placec</option>
    <option value='placed'>Placed</option>    
    <option value='placee'>Placee</option>
</select>

在单击任何内容之前,我不希望出现菜单,但是当他们单击说东英格兰时,我希望地方 A 和 B 出现在下拉列表中,如果他们选择西英格兰,我希望出现地方 C、D 和 E。

我尝试使用 onclick,我可以轻松地让选择菜单出现,但我无法让它过滤和删除元素等或显示/隐藏 div。我已经在页面上使用最新的 Jquery min 库。任何帮助表示赞赏。

4

3 回答 3

2

这是新的 html(东西方有不同的类):

<select name='areapick' id='apick'>
        <option value='placea' class="eastern">Placea</option>    
        <option value='placeb' class="eastern">Placeb</option>    
        <option value='placec' class="western">Placec</option>
        <option value='placed' class="western">Placed</option>    
        <option value='placee' class="western">Placee</option>
    </select>

这是我会使用的javascript:

   $(document).ready(function(){
        $('.areaselect').on('click', function(event){
            var id = $(this).attr('id')
            $('#apick option').not('.'+id).css('display','none');
            $('.'+id).css('display','inline').first().attr('selected','selected');
            event.preventDefault();
        });
    });

<a> #id注意和之间的“链接” <option> .class
(脚本未测试)

于 2013-01-04T11:06:16.077 回答
0

使用相同的结构,您可以尝试使用jQuery的gtlt选择器。

$(document).ready(function(){
     $('.areaselect').on('click', function(){
         $('#apick').css('display','none');
         $('#apick option').css('display','inline');
         var title = $(this).attr('id');
         if(title.indexOf('eastern') != -1){
              $('#apick option:gt(1)').css('display','none');//Zero based index
         }
         else{
              $('#apick option:lt(2)').css('display','none');//Zero based index
         }
         $('#apick').css('display','inline-block');
     });
});
于 2013-01-04T11:27:08.610 回答
0

我会给a标签和相应的option标签同一类。然后,onclick我将显示相关选项:

<a href="eastern#browse" rel="region_7" class="eastern" title="Eastern England image">Eastern England</a>
<a href="western#browse" rel="region_8" class="western" title="Western England image">Western England</a>


<select name='areapick' id='apick'>
        <option value='placea' class="eastern">Placea</option>    
        <option value='placeb' class="eastern">Placeb</option>    
        <option value='placec' class="western">Placec</option>
        <option value='placed' class="western">Placed</option>    
        <option value='placee' class="western">Placee</option>
    </select>

JS:

$("a").click(function(){
this_class= $(this).attr("class");
$("#apick").find("option").hide(); // reset
$("#apick").find("." + this_class).show(); // show desired options
});
于 2013-01-04T11:42:38.973 回答