jQuery Dropdown设置值

时间:2013-03-20 07:43:55

标签: jquery jquery-ui drop-down-menu

我有一个JQuery UI下拉列表。其实我有2个。

我在第一个选择的东西中,设置一个复选框为true。在该复选框的.change()中,我想将所选值从第一个下拉列表复制到第二个下拉列表。

$('#drop_1').val()我得到所选的值。

我以为我可以用$('#drop_1').val($('#drop_2').val())设置它。可悲的是,这只适用于正常的下拉菜单。 有没有办法像这样设置值:

$('#drop_1').find('option:selected').text();

知道我该怎么办?

这就是诀窍,它现在有效。该值已设置,但未在UI中显示。

var selected_campaign = $('#campaign_id').val();
$('#follow_campaign_id').val(selected_campaign);
$('#follow_campaign_id').next().find('input.ui-combobox-input').val($('#follow_campaign_id').children('option[value=' +selected_campaign+ ']').html());

固定

3 个答案:

答案 0 :(得分:3)

如果您将select包裹在jquery-ui autocomplete窗口小部件中:

原始选择将被隐藏,显示的html是输入。

您还需要设置此输入的值:

function(){
    var newval = $('#drop_1').val();

    $('#drop_2').val( newval );
    //you will have to find the correct selector for your particular settings here.
    //I base this code on the jquery-ui demo (see link below) :
    var $input = $('#drop_2').sibling('span.ui-combobox').find('input');
    $input.val(newval);
}
对于组合框小工具

jquery-ui demo

答案 1 :(得分:1)

  

没关系,错过了任务的UI部分,以下仅针对HTML。

JQuery的API-doc非常适合这类事情:http://api.jquery.com/val/。 话虽如此,这应该可以解决问题:

<script type="text/javascript">
function setDrop2() {
// only change if checkbox is true
if ($('#check_1').is(':checked')) {
    $("#drop_2").val($("#drop_1").val());
}
}
</script>

<select id="drop_1">
  <option>option_1</option><option>option_2</option><option>option_3</option>
</select> drop_1  
<input type="checkbox" id="check_1" value="check1" onchange="javascript:setDrop2()"/> check_1
<select id="drop_2">
  <option>option_1</option><option>option_2</option><option>option_3</option>
</select> drop_2

答案 2 :(得分:0)

标签没有任何兄弟姐妹,因此如果您尝试使用兄弟属性访问输入,代码将会爆炸。点击父级,然后搜索包含输入的范围,如下所示:

$("#drop-2").parent().find("span input").val($("#drop_1");