0

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

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

我找到了一个更新空文本字段(item_price)的解决方案,但我可以通过一些帮助来修改它以更改跨度(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>

另外,我在这个特定站点上使用 jQuery 1.6.1。

谢谢你。

4

2 回答 2

2

使用.text() / .html()作为目标元素是一个跨度,.val()用于设置输入元素的值

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

演示:小提琴

于 2013-09-27T15:49:54.950 回答
0

用这个代替 val

$this.siblings('.new_price').html(selected);
于 2013-09-27T15:51:02.650 回答