1

私はこのオンラインストアをjavascriptショッピングカートで作成しています。一部の商品にはオプションがあり、オプションによって商品の価格が変更されます。アイテムの価格は以前はスパンでしたが、無効にした入力フィールドの方が見栄えが良いと思いました。私の問題は、私のコードが入力フィールドの値を変更しないことですが、価格がスパンで記述されたときに変更されました。

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を使用している場合は、DOMReadyを使用する必要があります。

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

幸運を!

于 2012-08-06T15:26:54.343 に答える
0

入力ボックスから値を取得して変更する場合は、 or関数ではなくjQuery .val()関数を使用する必要があります。jQueryは次のようになります。.text().html()

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