【问题标题】:How to get selected option element attr in jQuery?如何在 jQuery 中获取选定的选项元素属性?
【发布时间】:2014-11-06 12:47:50
【问题描述】:

我想获取所选选项元素的属性值。

jQuery:

$("#select_element").val().attr("val");

HTML:

 <select id="select_element" class="selectpanel">
     <option val="x">element1</option>
     <option val="y">element2</option>
 </select>

【问题讨论】:

标签: javascript jquery element attr


【解决方案1】:

试试这个:

$('#select_element option:selected').attr('val');

或者

$('#select_element option:selected').val();

两者都有效!

【讨论】:

  • 是的,它的工作。谢谢 var id = $('#ilce option:selected').attr("id");
【解决方案2】:

简单使用:

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

如果你想要它的文本,那么:

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

JSFIDDLE

【讨论】:

  • 这是什么?您的选项没有属性 id。
  • 我改变了
  • 在这种情况下,如果您使用 data-id 并获得 $('#select_element option:selected').data('id');,那就更好了
  • 但是你没有提到这个,也不需要这个。使用 jsfiddle 链接检查我编辑的答案。
【解决方案3】:

试试这个以获得选项中的值

$("#select_element").val()

试试这个来选择 te 选项中的文本

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

可以看例子here

【讨论】:

    【解决方案4】:

    重新显示您的编辑:

    <option val="x">element1</option>
    

    val 不是option 元素的有效属性。正确的属性是value,或者如果您想要自定义属性,请使用data- 前缀(例如data-val)。

    所以取决于你的意思是value 还是data-val

    如果你的意思是value:

    $("#select_element").val() 是否在选择框中为您提供所选option 元素的值(value 属性):

    console.log($("#select_element").val());
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <select id="select_element">
      <option value="1">One</option>
      <option value="2" selected>Two</option>
      <option value="3">Three</option>
    </select>

    如果你的意思是data-val:

    如果你想从同一个 option 元素中获取一些 other 属性,你可以这样做:

    var otherAttributeValue = $("#select_element option:selected").attr("data-val");
    

    例如:

    var otherAttributeValue = $("#select_element option:selected").attr("data-val");
    console.log(otherAttributeValue);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <select id="select_element">
      <option data-val="first" value="1">One</option>
      <option data-val="second" value="2" selected>Two</option>
      <option data-val="third" value="3">Three</option>
    </select>

    【讨论】:

    • @AlexFilatov:上面的两个 sn-ps 都可以工作。我有一个非sn-p版本的第二个版本,它使用了一个参数而不是this(因为我记错了jQuery的filterArray#filter),也许这就是你所看到的?如果是这样,请点击刷新。但实际上,jQuery 有伪选择器:selected,所以...
    猜你喜欢
    • 2012-10-02
    • 2016-11-30
    • 2018-04-24
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    相关资源
    最近更新 更多