如何在jQuery中选择HTML5数据属性?

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

$('#trapfabric, #trapsize').on('change', function() { var $selected = $('#trapfabric, #trapsize').children(":selected"); sum = parseInt($('#trapsize').val()) + parseInt($('#trapfabric').val()); $('#priceToSwap3').html('$' + sum ); }); 

我知道我必须在上面这样的东西,但我不能让它工作:

 $('#priceToSwap3').text($selected.data("price")) 

EDITED

我的HTML:

 $238  foo foo   foo foo  

我相信这就是你想要的:

 var $elements = $('#trapfabric, #trapsize'); $elements.on('change', function() { var $selected = $elements.children(":selected"); var sum = 0; $selected.each(function() { sum += $(this).data('price'); }); $('#priceToSwap3').html('$' + sum); }); 

您必须遍历所选元素以获取每个元素的price数据。

DEMO

如果要获取需要使用$(this)source元素, #trapfabric事件绑定到两个元素#trapsize#trapfabric ;

的jsfiddle

 $('#trapfabric, #trapsize').on('change', function() { $('#priceToSwap3').text( '$' + $(':selected', this).data("price") ); }); 

我们有一个类似的场景,我们为每个输入分配安全值(1,2,3作为安全级别)。 当用户登录系统时,我们必须更改安全值“0”。

例如: