次のコードは、1 つのテキスト ボックスのみを配列に格納します。その場で複数の動的テキストボックスを格納する多次元配列が必要です。
コードは現在、ユーザーに 4 つの入力を求めており、% を使用してそれを 1 つの文字列に連結し、php ページに投稿しています。
4つの入力すべてを取得し、動的に追加されたテキストボックスが次のように格納された配列に格納したいと思います。
name[0][0] = dmenuvalue;
name[0][1] = $name.val();
name[0][2] = $origprice.val();
name[0][3] = $specprice.val();
ユーザーが別のものを追加すると、
name[1]0] = dmenuvalue, etc,etc
作業コード:
$(function(){
var $name = $("#name");
var $origprice = $("#origprice");
var $specprice = $("#specprice");
var $add = $("#add");
var $list = $("#list");
var ctr = 0;
$add.click(function() {
ctr++;
var elem = document.createElement("div");
var hidden = document.createElement("input");
var close = document.createElement("a");
var dmenu = document.getElementById("days");
var dmenuvalue = dmenu.options[dmenu.selectedIndex].text;
var regex = /^\d+(?:\.\d{0,2})$/;
if(dmenuvalue != "temp" && $name.val().indexOf("%") == -1 && ($origprice.val().indexOf("%") == -1 && regex.test($origprice.val())) && ($specprice.val().indexOf("%") == -1 && regex.test($specprice.val())))
{
var name = dmenuvalue +"%"+ $name.val() + "%" + $origprice.val() + "%" + $specprice.val();
//var name[0][0] = dmenuvalue;
//var name[0][1] = $name.val();
//var name[0][2] = $origprice.val();
//var name[0][3] = $specprice.val();
//for(i=0;i<5;i++){
$(hidden).attr({
'type': 'hidden',
'name': 'name[]',
'value': name
});
// }
$(close).attr({
'href': '#'
}).html("X").click(function() {
$(elem).remove();
ctr--;
return false;
});
$(elem).html(name).append(hidden)
.append(close);
$list.append(elem);
document.getElementById("dailydeals").innerHTML = '';
return false;
} else {
document.getElementById("dailydeals").innerHTML = '*Please complete all required fields above.';
return false;
}
});
});
誰かがコードを多次元に変更するのを手伝ってくれませんか?