2014-02-27 63 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