我有这个带有自定义属性的选项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的值
答案 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>