2014-02-27 66 views
0

我有一个变量,PRODUCT_CUSTOM_1_和PRODUCT_NAME_。这是假设从正在显示的html获取产品选项。我们有一些产品包含引语,“和',当我们抓住这些字符串并将它们发布到其他地方时,它会切断”。我需要“删除或包含在我们内部张贴它在其他地方删除引号或包括引号时使用附加

如何从两个变量中删除或包含”和“到我的隐藏形式iwantCheckoutForm?

产品名称的例子:黑色,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+'"> '); 
} 
}} 

我知道:1/8" 1/8" 磁带 自定义选项的例子×40' 滚这是一个重复的问题,但我无法弄清楚如何在我的当前脚本中实现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,并责备t我的地址上的帽子。我想我只是不知道在哪里需要添加.replace(/ \“/ g,”“),因为此代码似乎适用于其他人。

回答

1

而不是为元素创建HTML代码,只需创建元素并设置值这elliminates与逃逸字符的所有问题:

$("#iwantCheckoutForm").append(
    $('<input>', { type: 'hidden', name: 'PRODUCT_NAME_'+(i+1) }).val(items[i]) 
); 
+0

哇,这样的快速反应,我要测试这个方法。 Ø首先,因为这对于如何实现是最有意义的。如果这是在几个小时内完成的,我会报告回来。谢谢 – docwho

+0

这对我有效。谢谢! – docwho

1

使用功能

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

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

+0

我没有测试这个,但相信它会起作用。我只是一个初学者,我不太确定我会把这个放在哪里。不过谢谢。 – docwho