2009-08-02 38 views
1

我有一个选择下拉式选单,选择在当前页面的用户是围绕着一个主题:jQuery的选择菜单更换

<select id="style" name="acct-stylenum"> 
    <option value="1" selected="true">Light</option> 
    <option value="2">Dark</option>     
</select> 

现在我想要做的就是添加两个div也将控制这个什么选择菜单。我宁愿让用户在两个图像之间进行选择,而不是选择菜单。该div如下:

<div class="style-box light"></div> 
<div class="style-box dark"></div> 

我想使用jQuery隐藏选择菜单,但仍然使用其输入。此外,我想divs来控制菜单值并显示选定的状态。请让我知道这可以使用jQuery或JavaScript完成的最简单的方法。

在此先感谢。

-B

回答

1

,如果你有相同的顺序在选择的选项的所有图像,你会这么像这样(假设jQuery的版本> = 1.3和1.4 <因为指数现在做什么它应)

$("div.style-box").live('click', function() { 

    //get index of div clicked 
    var index = $(this).prevAll().length; 

    //select the corresponding option in the hidden select 
    $('#style>option').eq(index).attr('selected', true); 

}); 
+1

不错。 (使用'.index()'http://api.jquery.com/index/获得被点击的div的索引会更加优雅) – 2010-03-31 01:01:12

+1

@Herb Caudill我在JQuery中的索引函数是不像现在那样优雅。以前你不得不将项目集合传入索引 - 因此为什么prevAll().length是一个更好的解决方案 – redsquare 2010-03-31 11:28:16