0

我有一个变量 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, "") 因为这段代码似乎对其他人有用。

4

2 回答 2

1

无需为元素创建 HTML 代码,只需创建元素并设置值。这消除了转义字符的所有问题:

$("#iwantCheckoutForm").append(
  $('<input>', { type: 'hidden', name: 'PRODUCT_NAME_'+(i+1) }).val(items[i])
);
于 2014-02-27T19:40:28.130 回答
1

使用功能

function makeInput(name,value) {
 var tmp = $('<input type="hidden" />');
 tmp.attr('name', name);
 tmp.val(value);
 return tmp;
}

示例:http: //jsfiddle.net/5EX3y/2/

于 2014-02-27T19:50:39.143 回答