Javascript 拆分数组
我有两个javascript函数,第一个在工作,第二个在工作,但没有在隐藏的输入中回显正确的值 我成功地获得了最后一个隐藏的输入值,但我不知道如何正确Javascript 拆分数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有两个javascript函数,第一个在工作,第二个在工作,但没有在隐藏的输入中回显正确的值 我成功地获得了最后一个隐藏的输入值,但我不知道如何正确 var customTicketsArr = Array(); function EditEventAddTicket(){ alertWrongTime = false; var TicketName = jQuery("#ticketname").val(); var TicketPrice = jQuery("#t
var customTicketsArr = Array();
function EditEventAddTicket(){
alertWrongTime = false;
var TicketName = jQuery("#ticketname").val();
var TicketPrice = jQuery("#ticketprice").val();
var ticketquantity = jQuery("#ticketquantity").val();
var storeString = "TicketName" + TicketName + "TicketPrice" + TicketPrice + "Quantity" + ticketquantity + '';
customTicketsArr.push(storeString);
EditEventUpdateTickets(true);
}
function EditEventUpdateTickets(fade){
jQuery("#custom_tickets_string").val(customTicketsArr);
var output = "";
var style = "";
for (i = customTicketsArr.length-1; i >= 0; i--){
ticketname = customTicketsArr[i].split("TicketName");
ticketprice = customTicketsArr[i].split("TicketPrice");
ticketquantity = customTicketsArr[i].split("Quantity");
if(fade){
if (customTicketsArr.length - 1 == i){
style = "display: none; ";
var fadeInDiv = i;
} else {
style = "";
}
}
if (i % 2 == 1) { style += "background-color: #660000; "}
html = "<div id='customticket" + i + "' class='customeventbase' style='" + style + "'>";
html += '<input type="hidden" name="customTicketid[' + i + '][Name]" id="customticketName' + i + '" value="'+ ticketname + '" />';
html += '<input type="hidden" name="customTicketid[' + i + '][Price]" id="customticketPrice' + i + '" value="' +ticketprice[1] +'" />';
html += '<input type="hidden" name="customTicketid[' + i + '][Quantity]" id="customticketQuantity' + i + '" value="'+ ticketquantity[1] +'" />';
html += '<button class="customeventdel" type="button" onClick="EditEventRemoveDate(' + i + ')"></button>';
html += '<div class="clear"></div>';
html += '</div>\n';
output += html;
}
output += "<input type='hidden' id='custom_ticket_info' name='custom_ticket_info' value='" + customTicketsArr + "' />";
jQuery("#custom_ticket_container").html(output);
if(fade){
setTimeout("EditEventfadeInDiv(" + fadeInDiv +")", 10);
}
}
var customTicketsArr=Array();
函数EditEventAddTicket(){
AlertErrorTime=false;
var TicketName=jQuery(“#TicketName”).val();
var TicketPrice=jQuery(“#TicketPrice”).val();
var ticketquantity=jQuery(“#ticketquantity”).val();
var storeString=“TicketName”+TicketName+“TicketPrice”+TicketPrice+“数量”+ticketquantity+”;
customTicketsArr.push(存储字符串);
EditEventUpdateCkets(真);
}
函数editEventUpdateCkets(淡入淡出){
jQuery(“#custom#u tickets_string”).val(customTicketsArr);
var输出=”;
var style=“”;
对于(i=customTicketsArr.length-1;i>=0;i--){
ticketname=customTicketsArr[i]。拆分(“ticketname”);
ticketprice=customTicketsArr[i]。拆分(“ticketprice”);
ticketquantity=customTicketsArr[i]。拆分(“数量”);
如果(褪色){
if(customTicketsArr.length-1==i){
style=“显示:无;”;
var fadeInDiv=i;
}否则{
style=“”;
}
}
如果(i%2==1){style+=“背景色:#660000;”
html=“”;
html+='';
html+='';
html+='';
html+='';
html+='';
html+='\n';
输出+=html;
}
输出+=“”;
jQuery(“#自定义#票证#容器”).html(输出);
如果(褪色){
设置超时(“EditEventfadeInDiv”(+fadeInDiv+”),10);
}
}
这将产生:
<div style="background-color: #660000; " class="customeventbase" id="customticket1">
<input type="hidden" value=",testTicketPrice50Quantity44" id="customticketName1" name="customTicketid[1][Name]">
<input type="hidden" value="undefined" id="customticketPrice1" name="customTicketid[1][Price]">
<input type="hidden" value="44" id="customticketQuantity1" name="customTicketid[1][Quantity]">
<button onclick="EditEventRemoveDate(1)" type="button" class="customeventdel"></button>
<div class="clear"></div></div>
前两个隐藏字段的值不正确它们不是不正确的值-正在执行它应该执行的操作-在移除分隔符后返回子字符串数组 在字符串结构中,在
TicketName
上拆分将得到两个字符串-分隔符前面的子字符串和-TicketName
后面的子字符串本身不包括在内
因此,对于字符串“ticketnametticketprice50quantity44”
,当您在“TicketName”
上拆分时,您将得到“
和”testTicketPrice50Quantity44”
。在TicketPrice
上拆分相同的字符串将得到“TicketNametest”
和“50Quantity44”
我建议将对象放入数组中-
var storeObject = {
"TicketName" : TicketName,
"TicketPrice" : TicketPrice,
"Quantity" : ticketquantity
};
customTicketsArr.push(storeObject);
然后,您可以通过以下方式获取数据:
for (i = customTicketsArr.length-1; i >= 0; i--){
var currentObject = customTicketsArr[i];
var ticketname = currentObject.TicketName;
var ticketprice = currentObject.TicketPrice;
var ticketquantity = currentObject.Quantity;
//do other stuff here
}
它们并不是不正确的值-正在做它应该做的事情-在移除分隔符后返回一个子字符串数组 在字符串结构中,在
TicketName
上拆分将得到两个字符串-分隔符前面的子字符串和-TicketName
后面的子字符串本身不包括在内
因此,对于字符串“ticketnametticketprice50quantity44”
,当您在“TicketName”
上拆分时,您将得到“
和”testTicketPrice50Quantity44”
。在TicketPrice
上拆分相同的字符串将得到“TicketNametest”
和“50Quantity44”
我建议将对象放入数组中-
var storeObject = {
"TicketName" : TicketName,
"TicketPrice" : TicketPrice,
"Quantity" : ticketquantity
};
customTicketsArr.push(storeObject);
然后,您可以通过以下方式获取数据:
for (i = customTicketsArr.length-1; i >= 0; i--){
var currentObject = customTicketsArr[i];
var ticketname = currentObject.TicketName;
var ticketprice = currentObject.TicketPrice;
var ticketquantity = currentObject.Quantity;
//do other stuff here
}
为什么要将其保存为字符串?我建议将其存储在对象中:
function EditEventAddTicket(){
alertWrongTime = false;
var TicketName = jQuery("#ticketname").val();
var TicketPrice = jQuery("#ticketprice").val();
var ticketquantity = jQuery("#ticketquantity").val();
var ticket = {"TicketName": TicketName, "TicketPrice": TicketPrice, "Quantity": ticketquantity};
customTicketsArr.push(ticket);
EditEventUpdateTickets(true);
}
然后您可以简单地加载数据:
for (i = customTicketsArr.length-1; i >= 0; i--){
ticketname = customTicketsArr[i].TicketName;
ticketprice = customTicketsArr[i].TicketPrice;
ticketquantity = customTicketsArr[i].Quantity;
// ...
}
为什么要将其保存为字符串?我建议将其存储在对象中:
function EditEventAddTicket(){
alertWrongTime = false;
var TicketName = jQuery("#ticketname").val();
var TicketPrice = jQuery("#ticketprice").val();
var ticketquantity = jQuery("#ticketquantity").val();
var ticket = {"TicketName": TicketName, "TicketPrice": TicketPrice, "Quantity": ticketquantity};
customTicketsArr.push(ticket);
EditEventUpdateTickets(true);
}
然后您可以简单地加载数据:
for (i = customTicketsArr.length-1; i >= 0; i--){
ticketname = customTicketsArr[i].TicketName;
ticketprice = customTicketsArr[i].TicketPrice;
ticketquantity = customTicketsArr[i].Quantity;
// ...
}
为什么不做一个二维数组呢
var customTicketsArr = Array();
function EditEventAddTicket() {
customTicketsArr.push({
'name' : jQuery("#ticketname").val(),
'price' : jQuery("#ticketprice").val(),
'qty' : jQuery("#ticketquantity").val()
});
}
为什么不做一个二维数组呢
var customTicketsArr = Array();
function EditEventAddTicket() {
customTicketsArr.push({
'name' : jQuery("#ticketname").val(),
'price' : jQuery("#ticketprice").val(),
'qty' : jQuery("#ticketquantity").val()
});
}
抛开代码不谈,你能解释一下你想要实现什么吗?抛开代码不谈,你能解释一下你想要实现什么吗?