【问题标题】:Get the value of a dropdown in jQuery在jQuery中获取下拉列表的值
【发布时间】:2023-03-27 20:09:01
【问题描述】:

我有一个包含“ID,名称”对的下拉菜单。

例子

乔恩·米勒
吉姆·史密斯
仁莫辛

乔恩·米勒的 ID 为 101
Jim Smith 的 ID 为 102
Jen Morsin 的 ID 为 103

当我执行以下操作时:

var arNames = $('#Crd').val() 

然后我选择 Jon Miller,我得到 101。不过我想要 Jon Miller。

【问题讨论】:

标签: jquery


【解决方案1】:

$('#Crd').val() 将为您提供下拉元素的选定值。使用它来获取选定的选项文本。

$('#Crd option:selected').text();

【讨论】:

  • $('#Crd option:selected').text() 或 $('#Crd option:selected').val(), .text 为您提供显示文本的值,而不是价值
  • $('#Crd option:selected').val();为价值
【解决方案2】:

最好的方法是使用:

$("#yourid option:selected").text();

根据需要,你也可以这样使用:

var v = $("#yourid").val();
$("#yourid option[value="+v+"]").text()

【讨论】:

    【解决方案3】:

    这对我有用!

    $('#selected-option option:selected').val()
    

    希望这对某人有所帮助!

    【讨论】:

      【解决方案4】:

      如果您使用的是<select>.val() 将获取所选<option> 的“值”。如果它没有value,它可能会回退到id。将您希望它返回的值放在每个<option>value 属性中

      编辑:请参阅 cmets 以了解 value 实际上是什么(不一定等于 value 属性)。

      【讨论】:

      • 澄清一下,.val() 返回 live value 属性 而不是 HTML 属性值。
      • 正确。但是,在这种情况下没有实际区别,因为 OP 似乎不想在任何时候更改 values。
      • .val() gets the 'value' attribute of the selected <option>,就像我说的:只是澄清一下。
      • 如果我需要索引或 id 而不是文本怎么办?
      【解决方案5】:

      试试这个:

      var text = $('#YourDropdownId').find('option:selected').text();
      

      【讨论】:

        【解决方案6】:

        另一种选择:

        $("#<%=dropDownId.ClientID%>").children("option:selected").val();
        

        【讨论】:

          【解决方案7】:
          var sal = $('.selectSal option:selected').eq(0).val();
          

          selectSal 是一个类。

          【讨论】:

            【解决方案8】:

            正如已经指出的......在select 框中,.val() 属性将为您提供所选选项的值。如果所选选项没有 value 属性,它将默认为选项的显示值(这是 jQuery documentation of .val 上的示例所显示的。

            您想使用.text() 的选定选项:

            $('#Crd option:selected').text()

            【讨论】:

              【解决方案9】:

              $('.leave_response').on('change', function() {
                  var responseId = $(this).val();
                  console.log(responseId);
              });
              <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
              <td>
                  <select class="leave_response" name="leave">
                      <option>1</option>
                      <option>2</option>
                      <option>3</option>
                      <option>4</option>
                  </select>
              </td>

              【讨论】:

                【解决方案10】:

                传递 id 并保存到变量中,然后将变量传递到您想要的任何位置。

                var temp = $('select[name=ID Name]').val();

                【讨论】:

                • $('select[name=ID Name] option:selected').val();这一个也有效
                【解决方案11】:

                您可以在其变量中包含#Crd 的文本值。

                $(document).on('click', '#Crd', function () {
                     var Crd = $( "#Crd option:selected" ).text();
                });
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-11-14
                  • 2014-06-19
                  • 2013-11-19
                  • 2011-04-19
                  • 1970-01-01
                  • 2011-03-31
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多