自定义属性jquery选择选项中的自定义值

时间:2017-11-15 13:16:49

标签: javascript jquery html

我有这个带有自定义属性的选项html

<select id='voucher_dealer' name='voucher_dealer' class='form-control'><option value=''>اختر موزع</option>
        @foreach($dealers as $dealer)
            <option dealername='awad' value='{{$dealer->id}}'>{{$dealer->dealer_name}}</option>
        @endforeach
</select>

现在我想获得经销商名称的价值我做了这个

 $("#voucher_dealer").change(function(){
    var dealer = $(this).val();
    var dealername = $(this).attr("dealername");
    alert(dealername);
});

我未定义如何获取属性dealername的值

2 个答案:

答案 0 :(得分:4)

问题是因为dealername属性位于所选的option上,而不是select本身。试试这个:

$("#voucher_dealer").change(function(){
  var dealer = $(this).val();
  var dealername = $(this).find('option:selected').attr("dealername");
  console.log(dealername);
});

请注意,此处使用find(),并console.log()使用alert()进行调试。

答案 1 :(得分:2)

你的选择器错了。

试试这个:

$("#voucher_dealer").change(function(){
  var dealer = $(this).val();
  var dealername = $('#voucher_dealer option:selected').attr("dealername");
  alert(dealername);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='voucher_dealer' name='voucher_dealer' class='form-control'>
  <option dealername='dsf' value=''>اختر موزع</option>    
  <option selected dealername='awad' value='{{$dealer->id}}'>ajhbjkasdb</option>
</select>

相关问题