选择了combobox jquery库更新文本

时间:2013-04-10 14:23:59

标签: jquery jquery-chosen

大家好,我的页面中有两个组合框,我正在使用selected()jquery库。 我现在要做的是将文本从combo1交换到combo2。  我尝试过这样的事情。

var startint = $("#StartLocations").attr("selectedIndex");
        var endint = $("#EndLocations").attr("selectedIndex");

        $("#EndLocations").attr("selectedIndex", startint);
        $("#StartLocations").attr("selectedIndex", endint);
        $('#StartLocations').trigger("liszt:updated");

其中结束位置和起始位置是组合框的名称。  任何想法我怎么可能会这个?

3 个答案:

答案 0 :(得分:0)

可以使用.val()函数检索和设置组合框值。

HTML:

<select id="a">
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
</select>
<select id="b">
    <option value="1">one</option>
    <option value="2">two</option>
    <option value="3">three</option>
</select>
<button id="switch">Switch</button>

JavaSript:

$("#switch").click(function(){
    var valA = $("#a").val();
    var valB = $("#b").val();
    $("#a").val(valB);
    $("#b").val(valA);
});

请参见示例:http://jsfiddle.net/lopisan/Exf4Y/

答案 1 :(得分:0)

因此,当选择的库接管它时,它实际上隐藏了选择对象并放入一个带有来自隐藏选择中的选择的文本的范围。我过去常常改变文本的诀窍就是简单地追踪那个特定对象下的跨度。所以换句话说就是这样。

        var StartNode = $("#StartLocations").val();
        var EndNode = $("#EndLocations").val();        
        $("#StartLocations_chzn a > span").text( EndNode);
        $("#EndLocations_chzn a > span").text(StartNode); 

希望这有助于其他一些菜鸟。 米格尔

答案 2 :(得分:0)

Miguel对他自己的问题的回答是可行的,但它确实将你与选择输出的特定标记联系起来。

另一种方法仍然与所选择的方法相关联,但至少使用其JavaScript API而不是通过标记进行拖网操作,更新选择框作为lopisan建议,但随后触发专有的liszt:updated事件。像这样:

$("#switch").click(function(){
  var valA = $("#a").val();
  var valB = $("#b").val();
  $("#a").val(valB);
  $("#b").val(valA);
  $("#a").trigger("liszt:updated");
  $("#b").trigger("liszt:updated");
});