【问题标题】:How to get the text value of a selected item from a DataList using jQuery如何使用jQuery从DataList中获取所选项目的文本值
【发布时间】:2011-07-04 11:59:12
【问题描述】:

如何获取 DataList 中选项的文本值? 我需要使用id的值,但是我还需要selectedIndex的值,也就是名字。

<input type="text" name="names[]" id="names" list="neym"/>
<datalist id="neym">
    <option value="example"></option>
    <option value="example2"></option>
    <option value="example3"></option>
</datalist>

我如何在 jQuery 中做到这一点?

【问题讨论】:

    标签: jquery datalist


    【解决方案1】:

    像其他人指出的那样,遍历它们并使用 text() 和 val():

    $('#neym option').each(function(index) {
        var id = $(this).val();
        var name = $(this).text();
    
        // Do something with the id and name
        alert('Found ' + name + ' with id ' + id);
    });
    

    【讨论】:

      【解决方案2】:

      用于获取选定索引的文本

      $("#neym option:selected").text()
      

      用于获取选定索引的值

      $('#neym').attr('value')
      

      【讨论】:

        【解决方案3】:

        获取所选选项内的文本

        $( "#neym :selected" ).text();
        

        或者得到它的价值

        $( "#neym :selected" ).val()
        

        【讨论】:

        • 在什么情况下我应该放这个?
        【解决方案4】:
        <input id="option_box" list="my_options">
        <datalist id="my_options">
        </datalist>
        
        document.getElementById('option_box').value;
        

        输入元素保存数据列表中选定字段的值。这是答案的简单非 jquery 版本。

        【讨论】:

        • 嗨,欢迎来到 Stack Overflow!感谢您的回答,但是,您应该进一步扩展它。请说明您的代码,以及它如何解决提问者的问题。
        • 添加一些关于什么为什么你这样做的描述。
        【解决方案5】:

        考虑带有数据列表数据的输入>>

        要获得 val() 试试:

        $("#inputid").val();
        

        获取 text() 尝试:

        $("#datalistid option[value='" + $('#inputid').val() + "']").text();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-19
          相关资源
          最近更新 更多