我正在使用带有javascript onchange事件的selectbox,如下所示
<select onchange="changeprice(this);" >
<option value="" selected="">Please select an option</option>
<option value="17" data-operator="+" data-differ="0.00">2 Tons ( + $0.00 )</option>
<option value="18" data-operator="-" data-differ="125.00">5 Tons ( - $125.00 )</option>
</select>
我设法调用函数没有问题,但在事件期间我希望得到数据属性而不是值,我无法让它按预期工作 以下是我目前的javascript
<script>
function changeprice($this){
alert("test");//successfully alerted
alert($this.data-differ);//no respond
alert($this.data("operator"));//no respond
alert($this.data("differ"));//no respond
};
</script>
请告知
答案 0 :(得分:1)
你可以这样做:
<script>
function changeprice(element){
var op = $(element).find("option:selected").data("operator")
var diff = $(element).find("option:selected").data("differ")
};
</script>
答案 1 :(得分:0)
我认为你正在使用jQuery。如果是这样,您可以使用
访问数据属性$($this).data("differ")
没有jQuery,它可能看起来像
// For newer browsers
$this.dataset.differ
// For older IE's, check http://caniuse.com/#feat=dataset where you need to use this solution
$this.getAttribute("data-differ")
答案 2 :(得分:0)
您可以获得不同的属性和值:
$($this).find(':selected').attr('data-operator');
$($this).find(':selected').attr('data-differ');
$($this).find(':selected').val();