javascript&;jquery选择并获取值和属性

javascript&;jquery选择并获取值和属性,javascript,jquery,events,jquery-selectors,Javascript,Jquery,Events,Jquery Selectors,请帮助我选择并获取我的选项的值及其属性 下面是我的示例代码: html---- 预计将弹出: if 1 is selected alert 1(value) and 12354(attr) if 3 is selected alert 3 and 16352 您只需要使用更改事件: $(".cart select").on('change', function(){ alert(this.value); alert($(this).find('option:selected'

请帮助我选择并获取我的选项的值及其属性

下面是我的示例代码:

html----

预计将弹出:

if 1 is selected
    alert 1(value) and 12354(attr)

if 3 is selected alert 3 and 16352

您只需要使用更改事件:

$(".cart select").on('change', function(){
  alert(this.value);
  alert($(this).find('option:selected').attr('prodID'));
});

prodID
不是有效的属性。但是,我建议您使用自定义属性作为
数据prodID

 <select class="a">
  <option value="1" data-prodID="12354">1</option>
  <option value="2" data-prodID="11364">2</option>
  <option value="3" data-prodID="16352">3</option>
 </select>
  • 将选择器更正为
    选择.a
    <代码>选择表示具有类
    a
    和子
    选择
  • 您只需要更改事件
  • 使用
    :selected
    选择器获取当前选择的选项,使用
    attr()
    获取
    prodID
    属性
  • $(“.cart”).on('change','select.a',function(){
    log($(this.val());
    console.log($(':selected').attr('data-prod-id'));
    })
    
    1.
    2.
    3.
    
    its返回未使用数据prodID定义。但是无效的也可以attribure@mon-孙,我不明白。你的意思是我有建议的属性名称吗?@mon sun,使用
    data prod id
    。使用
    data-
    作为前缀是一种很好的做法,因为它可以确保属性不会成为未来浏览器和HTML规范中的标准属性,我如何正确地调用它?警报($(this).find(':selected').attr('data-prod-id'));
    $(".cart select").on('change', function(){
      alert(this.value);
      alert($(this).find('option:selected').attr('prodID'));
    });
    
     <select class="a">
      <option value="1" data-prodID="12354">1</option>
      <option value="2" data-prodID="11364">2</option>
      <option value="3" data-prodID="16352">3</option>
     </select>
    
     $(this).find('option:selected').data('prodID');