在datalist上获取其他属性的值

时间:2012-03-12 07:19:51

标签: jquery html5 drop-down-menu html-datalist

我有一位数据专家:

<datalist id="subjects">
<?php foreach($subjects as $v){ ?>
        <option data-subjectid="<?php echo $v[2]; ?>" value="<?php echo ucwords($v[1]); ?>"><?php echo ucwords($v[1]); ?></option>
<?php } ?>
</datalist>

我想要做的是将值存储在所选值的data-subjectid属性中。到目前为止我一直在做的是在jQuery中调用.each()函数,如下所示:

//on Select Change
var selectedvalue = $(this).val();
$('#subjects option').each(function(){
   if(current_value == selectedvalue){
      //get the data-subjectid of current value   
   }
});

有更好更快的方法吗?

1 个答案:

答案 0 :(得分:1)

我不确定这是否更快(我不是100%确定此选择器如何在封面下工作)但您可以使用:selected selector使代码更清洁。

var subjectId = $('#subjects option:selected').attr('data-subjectid');