我有一个变量PRODUCT_CUSTOM_1_和PRODUCT_NAME_。这是为了从正在显示的html中获取产品选项。我们有一些包含引号的产品,“和'。当我们抓住这些字符串并将它们发布到其他地方时,它会切断”。我或者需要“删除或包含在我们内部的其他地方。”
如何删除或包含两个变量中的“和”到我的隐藏形式iwantCheckoutForm?
产品名称的示例:1/8“x 40'卷胶带 自定义选项的示例:1/8“黑色,1/4”红色
var BongoCheckout = {insertForm: function() {
var custom =new Array;
for(i=0;i< qtys.length ;i++){
custom[i]="";
for(j=0;j< $($("td.ys_itemInfo")[i]).children().children().length; j++){
custom[i]= custom[i]+" "+$($($("td.ys_itemInfo")[i]).children().children()[j]).text();
}
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_ID_'+(i+1)+'" value="'+codes[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_NAME_'+(i+1)+'" value="'+items[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_PRICE_'+(i+1)+'" value="'+price[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_Q_'+(i+1)+'" value="'+qtys[i]+'">');
$("#iwantCheckoutForm").append('<input type="hidden" name="PRODUCT_CUSTOM_1_'+(i+1)+'" value="'+custom[i]+'" /> ');
if (per_item_shipping) {
$('form[name="iwantCheckoutForm"]').append('<input type="hidden" name="PRODUCT_SHIPPING_'+(i+1)+'" value="'+shipping_cost.toString()+'"> ');
} else {
$('form[name="iwantCheckoutForm"]').append('<input type="hidden" name="PRODUCT_SHIPPING_'+(i+1)+'" value="'+shipping_cost_breakdown+'"> ');
}
}}
我知道这是一个重复的问题,但我无法弄清楚如何在我当前的脚本中实现10多个建议。我似乎无法包含正则表达式参数,没有破坏脚本。我试图在for循环中添加它。
for(j=0;j< $($("td.ys_itemInfo")[i]).children().children().length; j++){
custom[i]= custom[i]+" "+$($($("td.ys_itemInfo")[i]).children().children()[j]).text(custom.replace(/\"/g, ""));
}
归咎于我仍然是一个n00b,并责怪我的ADD。我想我只是不知道我需要在哪里添加.replace(/ \“/ g,”“),因为这段代码似乎适用于其他人。
答案 0 :(得分:1)
不是为元素创建HTML代码,只需创建元素并设置值即可。这消除了逃避字符的所有问题:
$("#iwantCheckoutForm").append(
$('<input>', { type: 'hidden', name: 'PRODUCT_NAME_'+(i+1) }).val(items[i])
);
答案 1 :(得分:1)
使用功能
function makeInput(name,value) {
var tmp = $('<input type="hidden" />');
tmp.attr('name', name);
tmp.val(value);
return tmp;
}