【问题标题】:how to set text of option:selected in jquery如何设置选项的文本:在 jquery 中选择
【发布时间】:2015-06-11 05:27:47
【问题描述】:
<select id="myselect">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>

<select id="youSelect">
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>
    <option value="4">Dr</option>
    <option value="5">Prof</option>
</select>

现在点击一个按钮,我想设置 mySelect 选项:在 youSelect 中选择的值所以为此我做了这个

$('#youSelect option:selected').text($('#myselect option:selected').text())

但它不起作用。请指导如何解决这个问题。

【问题讨论】:

  • 你们都没有明白我的意思我想要什么请通过问题编辑它
  • 您使用哪个 jQuery 版本?我没明白你的意思。这是否意味着您需要选择您在第一个dropdown中选择的第二个dropdown中的值

标签: javascript jquery html html-select


【解决方案1】:

简单地做:

$('#youSelect').val($('#myselect').val());

您匹配的是值,而不是文本。

编辑:根据您编辑的问题,您可能看到与this question相同的情况

var _mySelectText = $("#myselect option:selected").text();
$("#youSelect option").filter(function () {
    return this.text === _mySelectText;
}).attr("selected", "selected");

【讨论】:

    【解决方案2】:
    $("#youSelect").val("thevalue");
    

    只需确保选项标签中的值与 val 方法中的值匹配即可。

    【讨论】:

      【解决方案3】:
        var myValue = $("#myselect option:selected").text();
        var secondoption = $("#youSelect")[0];
      
      
        for (var i = 0, sL = secondoption.length; i < sL; i++) {
          if (secondoption.options[i].text == myValue) {
            secondoption.selectedIndex = i;
            break;
          }
        }
      

      http://plnkr.co/edit/GVt8rZswjzZTC13vw98N?p=preview

      【讨论】:

      • 你不明白我想要的是 $('#youSelec option:selected').text($('#myselect option:selected').text()) 但它不起作用
      • 所以你想根据第一个中的文本设置第二个选项的值?
      • 但是第一个选项中的文本不作为第二个选项的值存在。即使我做了 plunker,你的 HTML 也是错误的
      • 第二个中的第一个选项值,例如如果我得到第一个选项:选择的文本为 mrs 所以我想要你选择选项:选择的文本也是 mrs 现在你明白了
      • 更新了答案。因此,您希望两个选项具有匹配的文本,尽管它们具有不同的值
      【解决方案4】:

      使用这个。

      $(selector_to_your_button).on('click',function(){
          $('#youSelect).val($("#myselect").val());
      });
      

      【讨论】:

      • 我认为问题很明确,youSelect 的值应该设置在单击按钮上,而不是设置在myselectchange 上。
      猜你喜欢
      • 2012-10-26
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多