2

我的 jQuery 选择 value 属性。如何更改我的 jQuery 以选择数据属性“data-price”?

HTML:

<span id="priceToSwap3"">$238</span>

<select id="trapsize">
 <option data-price="238">item1</option>
 <option data-price="288">item2</option>
</select>

<select id="trapfabric">
 <option data-price="0">item3</option>
 <option data-price="20">item4</option>
</select>

jQuery:

$('#trapfabric, #trapsize').on('change', function() {
  var $selected = $('#trapfabric, #trapsize').children(":selected");

  sum = parseInt($('#trapsize').val()) + parseInt($('#trapfabric').val());
  $('#priceToSwap3').html('$' + sum
    );
});
4

7 回答 7

4

获取数据属性$(el).data('price')

var sum = $('#trapsize option:selected').data('price') + $('#trapfabric option:selected').data('price');

演示:小提琴

于 2013-03-01T12:10:32.953 回答
1

试试这个

 $('#trapsize option:selected').data('price'); 

使用您的代码

$('#trapfabric, #trapsize').on('change', function() {
  sum = parseInt($('#trapsize option:selected').data('price')) + parseInt($('#trapfabric option:selected').data('price'));
  $('#priceToSwap3').html('$' + sum); 
});

这里的例子小提琴

于 2013-03-01T12:10:19.257 回答
0

$('option').attr('data-price');

于 2013-03-01T12:10:15.750 回答
0
attr("data-price");

或者

data("price");

后者是优选的方式。


在您的代码中,它将是:

sum = parseInt($('#trapsize option:selected').data('price')) + parseInt($('#trapfabric option:selected').data('price'));

更多关于data() 这里

于 2013-03-01T12:11:26.187 回答
0

尝试:

 $('#trapsize option:selected').data('price');  

 $('#trapfabric option:selected').data('price');

你的功能应该是;

$('#trapfabric, #trapsize').on('change', function() {
   sum = parseInt($('#trapsize option:selected').data('price')) + parseInt($('#trapfabric option:selected').data('price'));
   $('#priceToSwap3').html('$' + sum);
})  
于 2013-03-01T12:11:33.107 回答
0

您可以使用 jquery attr

$("your dom").attr("data-price")
于 2013-03-01T12:11:33.177 回答
0

甚至您可以根据属性获取和设置值

$("[data-price=238]").attr("data-price", 0);
于 2018-10-14T05:49:37.707 回答