Javascript 基于“选择选项”数据属性更改范围

Javascript 基于“选择选项”数据属性更改范围,javascript,jquery,Javascript,Jquery,我有一个选择列表,它有许多不同的选项,每个选项都有一个价格的数据属性 当用户选择一个选项时,我希望跨度的内容根据所选选项的数据属性进行更改 我已经找到了一个更新一个空文本字段(item_price)的解决方案,但是我可以通过一些帮助修改它来更改span(new_price)的内容,如下所示 <select class="item_size"> <option value="5 x 7" data-price="5.00">5 x 7 - <span>$

我有一个选择列表,它有许多不同的选项,每个选项都有一个价格的数据属性

当用户选择一个选项时,我希望跨度的内容根据所选选项的数据属性进行更改

我已经找到了一个更新一个空文本字段(item_price)的解决方案,但是我可以通过一些帮助修改它来更改span(new_price)的内容,如下所示

    <select class="item_size">
<option value="5 x 7" data-price="5.00">5 x 7 - <span>$ 5.00</span></option>
<option value="8 x 10" data-price="10.00">8 x 10 - <span >$ 10.00</span></option>
<option value="16 x 20" data-price="20.00">16 x 20 - <span>$ 20.00</span</option>
</select>
<input type="text" class="item_price" value="5.00"/>
    <span class="new_price"></span>

<script>
    $('.item_size').live('change', function(){

    var $this = $(this),
        selected = $this.find(':selected').data('price')

    $this.siblings('.item_price').val(selected);
    $this.siblings('.new_price').val(selected);

});
</script>

5 x 7-$5.00
8 x 10-$10.00
16 x 20-$20.00使用/由于目标元素是跨度,用于设置输入元素的值

$this.siblings('.new_price').text(selected);

演示:

用这个代替val

$this.siblings('.new_price').html(selected);