1

現在、以下のコードを使用して、ユーザーがテキストボックスのドロップダウンに入力した値を取得しています。

var test = new Object();
test.attribute = $("#Attribute_0").val();
test.operand = $("#Operand_0").val();
test.value = $("#Value_0").val();

var test = new Object();
test.attribute = $("#Attribute_1").val();
test.operand = $("#Operand_1").val();
test.value = $("#Value_1").val();

しかし、リストが増えるにつれて、これを行うための他のより良い方法があると思ったので、ここに来ました.

私のHTMLコードは以下のようになります

<div>
    <input id="Attribute_0" name="Attribute_1" type="text">
    <select id="Operand_0">
    <input id="Value_0" type="text">
</div>

<div>
    <input id="Attribute_1" name="Attribute_1" type="text">
    <select id="Operand_1">
    <input id="Value_1" type="text">
</div>

foreach またはその他のより良い方法でコードを簡素化できますか?

提案してください

アップデート

私のコードが繰り返されています。

このようなリスト属性が 10 個ある場合、各 DIV の値を手動で取得しても意味がないとします。

コードを書き換えずにこれを簡単に行うにはどうすればよいですか?

4

4 に答える 4

3

To be effecient, it'd be better having a class on each of your containing <div>'s and doing the $.each on this class, but with your current code you can do:

$.each($('div'), function(i, v) {
  var test = new Object();
  test.attribute = $("#Attribute_" + i).val();
  test.operand = $("#Operand_" + i).val();
  test.value = $("#Value_" + i).val();
});
于 2013-04-11T13:23:07.357 に答える
1

タグ名の foreach サイクルを整理できます。このようなもの:

for(int i=0;i<maxvalue; i++){
var test = new Object();
test.attribute = $("#Attribute_" + i).val();
test.operand = $("#Operand_"+ i).val();
test.value = $("#Value_"+ i).val();
}
于 2013-04-11T13:25:30.423 に答える