0

Ajaxを介して動的に生成されたテキストボックスがいくつかあります。私はjsonを解析するためにJackson1.9.8を使用しています。次のように、jQueryを使用してこれらの動的テキストボックスの値を取得できます。

var itemsArray=[];

$('input[name="txtChargeSize[]"]').each(function(){
    itemsArray[i][2]=$(this).val();                  
});

これにより、テキストボックス配列の各要素をtxtChargeSize[]1つずつ取得できます。

itemsArrayすでに保持している配列です

位置の値weightIditemsArray[i][0]

位置の値weightitemsArray[i][1]

上記のコードで割り当てられているテキストボックスの値である位置chargeitemsArray[i][2]の値。


これらの値をOracleデータベースに挿入するには、この配列をSpringコントローラークラスに渡す必要があります。私は次のことを試みています。

var i=0;
$('input[name="txtChargeSize[]"]').each(function(){
    itemsArray[i][2]=$(this).val();        
    objectArray[i]=[["weightId",itemsArray[i][0]], ["weight",itemsArray[i][1]], ["charge",itemsArray[i][2]]];                  
    i++;          
});

期待どおりに動作しません。次のようなものを渡す必要があります。

[["weightId", 1], ["weight", 12.4], ["charge", 15.5]]

に解析できるようにしjava.util.List<Object[]>ます。私はこれを達成するためのJavascriptの正確な知識を持っていません。itemsArrayこの方法で、 jsonを使用してSpringコントローラーに保持されている値を渡すにはどうすればよいですか?

4

1 に答える 1

1
var i=0;
$('input[name="txtChargeSize[]"]').each(function(){
    itemsArray[i][2]=$(this).val();        
    i++;          
});

このようなJavaScriptコンストラクターメソッドを試してください。

for(var i = 0; i < itemsArray.length; i++) {
   objectArray[i]= new createObj(itemsArray[i][0], itemsArray[i][1], itemsArray[i][2]);                  
}

コンストラクタ関数は

function createObj(weightID, weight, charge) {
   this.weightId = weightID;
   this.weight = weight;
   this.charge = charge;
}

最後に、json文字列が必要な場合は、これを使用します

var str = JSON.stringify(objectArray);
alert(str);
于 2012-09-01T06:41:34.793 に答える