1

ここに私のコードがあります: http://jsfiddle.net/9Vvpj/4/

IE7以外のすべてでこれが正常に機能する理由を理解するのを手伝ってください!

私の変数のように見えます:

var quantity = quantity_input.val();

未定義です

4

3 に答える 3

3

1つのドキュメントに複数のIDを含めることはできません。そのため、コードが機能しません。

代わりにこれを試してください:

    var this_id = jQuery(this).data('input');

これは、data()関数を使用してHTML内の'data-input`プロパティを取得します。HTMLの代わりにHTMLも更新しました

<div id="CartProduct-118" class="quantityDown">-</div>

行う

<div data-input="CartProduct-118" class="quantityDown">-</div>

作業例

于 2012-04-25T14:31:39.427 に答える
1

異なる要素に同じ ID を使用しないでください。それをサポートするブラウザーでさえ、DOM がどのように機能するかは想定されていません。

このコードを使用して入力を見つける場合、ID は必要ありません。

var quantity_input = $(this).parent().siblings(".quantity")

また、数値を使用していることを明示的に指定することもお勧めします。

var quantity = parseInt(quantity_input.val());

この方法は、開発者ツールを使用して IE7 に切り替えるときに機能することに注意してください: http://jsfiddle.net/9Vvpj/5/

于 2012-04-25T14:35:28.910 に答える
0

このコンポーネントに切り替えることをお勧めします:http: //view.jqueryui.com/master/demos/spinner/default.html

Webkitブラウザーで機能させるには、これをcssに追加する必要があります。

                input[type=number]::-webkit-inner-spin-button,
                input[type=number]::-webkit-outer-spin-button
                {
                    -webkit-appearance: none;
                    margin: 0;
                }               
于 2012-04-25T14:42:23.490 に答える