如何获得其他selectmenu()的价值?

时间:2015-05-08 05:54:59

标签: javascript jquery-ui

我正在使用jQuery ui selectmenu()。

我已经完成了https://jqueryui.com/selectmenu/

我有2个选择框。我想在第二个中使用第一个选择框值。那么我怎样才能获得1st selectbox的价值。

暂时我这样做。

 <select class="select" id="one">
     <option value="1">A</option>
     <option value="2">B</option>    
 </select>

 <select class="select2">
     <option value="1">A</option>
     <option value="2">B</option>    
 </select>

 $(".select").selectmenu();
    $(".select2").selectmenu({
        change: function (event, data) {

            var firstVal = $("#one-button .ui-selectmenu-text").text();
            alert(firstVal);
            return false;

        }
    });

有没有更好的方法来获得第一个选择框的价值?

它生成以下HTML格式

<span class="ui-selectmenu-button ui-widget ui-state-default ui-corner-all" tabindex="0" id="one-button" role="combobox" aria-expanded="false" aria-autocomplete="list" aria-owns="continents_1-menu" aria-haspopup="true" style="width: 0px;" aria-activedescendant="ui-id-29" aria-labelledby="ui-id-29" aria-disabled="false">
<span class="ui-icon ui-icon-triangle-1-s"></span>
<span class="ui-selectmenu-text">1</span>
</span>

3 个答案:

答案 0 :(得分:2)

您可以获取select元素的值,selectui更新底层select元素的值。

var firstVal = $("#one").val();

演示:Fiddle

答案 1 :(得分:1)

由于UI selectmenu基本上只是一个围绕普通选择框的HTML包装器,它反映了它的值和标签,你仍然可以正常读取值和标签。在你的情况下:

var firstVal = $("#one").find(':selected').text();

演示:http://jsfiddle.net/6uxh7znb/

答案 2 :(得分:0)

下面的代码示例将从第一个选择框中获取值,并将其设置为第二个选择框中的值

$(document).ready(function(){
        $(".select").change(function() {
    //this will give you value of first select box
    var selectedval = ($(".select option:selected").val());
    //this will set the value from first select box in second select box
    $(".select2").val(selectedval);
    });
    });