4

私はデータリストを持っています:

<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選択された値の属性に格納されている値を取得することです。私が今までやってきたことは、次の.each()ように jQuery で関数を呼び出すことです。

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

これを行うためのより良い、より速い方法はありますか?

4

1 に答える 1

1

これが高速かどうかはわかりません (このセレクターが内部でどのように機能するかは 100% わかりません) が、:selected セレクターを使用してコードを少しきれいにすることができます。

var subjectId = $('#subjects option:selected').attr('data-subjectid');
于 2012-03-12T18:23:53.873 に答える