1

我正在使用 javascript 购物车创建这个在线商店。有些产品有选项,选项会改变商品的价格。一个项目的价格曾经是一个跨度,但我认为禁用的输入字段看起来更好。我的问题是我的代码没有改变输入字段的值,但是当价格写成 span 时它确实改变了它。

jQuery:

$(".item_lenght").change(function() {
        $('.item_price').html($('option:selected', this).data('price'));
    });

和html:

<table style="border:1px solid black; border-radius: 6px;">
    <tr>
        <td>
        <select class="item_lenght" name="size">
        <option value="Tyhjä">Valitse koko</option>
        <option data-price="47.00€" value="25cm"> 25cm x 150cm </option>
        <option data-price="48.00€" value="50cm"> 50cm x 150xm</option>
        <option data-price="49.00€" value="100cm"> 100cm x 150cm </option>
        </select>
        </td>
        <td>
        <select class="item_type" name="type">
        <option value="Ei valintaa">Valitse väri</option>
        <option data-name="Teipit (Harjattu Alumiini)" value="Harjattu Alumiini"> Harjattu Alumiini </option>
        <option data-name="Teipit (Musta hiilikuitu)" value="Musta hiilikuitu"> Musta hiilikuitu </option>
        <option data-name="Teipit (Valkoinen hiilikuitu)" value="Valkoinen hiilikuitu"> Valkoinen hiilikuitu </option>
        <option data-name="Teipit (Mattamusta)" value="Mattamusta"> Mattamusta </option>
        </select>
        </td>
    </tr>
    <tr>
        <td>Määrä:
        </td>
        <td>
        <input type="text" value="1" class="item_Quantity" style="width:30px;">
        </td>
    </tr>
    <tr>
        <td>Hinta
        </td>
        <td>
        <input type="text" readonly="readonly" class="item_price" value="0.00€">
        </td>
    </tr>
    </table>


        <a class="item_add" href="javascript:;"> Osta prkl </a>

我可能做错了什么?

4

4 回答 4

1

用于readonly="readonly"输入而不是禁用它。

val()用于文本字段而不是text()textfield

现场演示

<input type="text" readonly="readonly" class="item_price" value="0.00€">

$(".item_lenght").change(function() {
    $('.item_price').val($('option:selected', this).data('price'));
});​
于 2012-08-06T15:24:16.630 回答
0

使用.val()修改并获取它的内容

$('.item_price').val($('option:selected', this).data('price'));
于 2012-08-06T15:25:52.100 回答
0

如果您使用 jQuery,则需要使用 DOM Ready。

$(document).ready(function(){
// JQuery goes inside here
});

祝你好运!

于 2012-08-06T15:26:54.343 回答
0

从输入框中检索值和修改输入框时,您必须使用 jQuery .val()函数而不是.text()or.html()函数。你的 jQuery 应该是这样的:

$('.item_price').val($('option:selected', this).data('price'));
于 2012-08-06T15:27:54.403 回答