1

クラス「赤」の画像がいくつかあります。

ユーザーがそれらのいずれかをクリックすると、ID が「red」のフォーム フィールドがインクリメントされます。

これを再利用しやすい方法で書くようにしています。

グローバル変数を使用せずにフォーム フィールドの値をインクリメントする方法があるかどうかわかりません。$(#red).val(++); と書くだけです。何もしません。

最初に次のようなグローバル変数を宣言すると

var redAmount;
$(#red).val(redAmount++);

それは機能しますが、これを他の色に再利用するたびに色と量を入力する必要があるという考えは好きではありません.

のように変数名を動的に形成しようとした

var redAmount;
var currentColor = $(obj).attr("class"); //getting the class of the clicked element
$('#' + currentColor).val(currentColor+'Amount'++); //trying to form the variable name dynamically but failing

長い説明で申し訳ありません。私が尋ねようとしているのはこれです:

  1. グローバル変数なしでフォームの値をインクリメントできますか
  2. そうでない場合、クリックした要素のクラスに基づいて変数名を動的に形成するにはどうすればよいですか
4

2 に答える 2

1

これは、昔ながらの JavaScript のインクリメント演算子で行うことができます。

document.getElementById("red").value++;

jsフィドル

于 2012-07-23T01:28:03.150 に答える
0

テストされたサンプルでコードが改訂されました。

http://jsfiddle.net/webwarrior/CrjY9/25/

クリックしているアイテムの値をインクリメントしようとしていませんか?

jQuery("img").click(function () {
    jQuery("#" + jQuery(this).attr("class"))[0].value++;
});

お役に立てれば。

これは本当のJQueryの方法ですが、一部のブラウザーでは、JavaScriptのvalue++の方法も同様に優れていると思います。

于 2012-07-23T01:41:31.197 に答える