2012-12-12 51 views
1

$('#Price')顯示此值:「$ 123,000」。我想以「123000」的形式將此值分配給表單文本輸入字段。這裏是我的代碼:Javascript將選擇器的文本內容分配給表單輸入值

var numberString = $('#Price').text(); 
var removeSpace = numberString.replace(" ", ""); 
var removeDollarSign = removeSpace.slice(1); 
var resultValue = + removeDollarSign.replace(/,/g, ''); 
myForm['inputname'].value = resultValue; 

我得到NaN結果。我也嘗試通過使用Number()函數將resultValue轉換爲數字,但這沒有幫助。我的問題是什麼?

回答

2

嘗試

myForm['inputname'].value = $('#Price').text().replace(/,|\s|\$/g, ""); 
+0

這個爲我工作,謝謝! – user1824996

2
var resultValue = + removeDollarSign.replace(/,/g, ''); 

應該是:

var resultValue = removeDollarSign.replace(/,/g, ''); 

你是不是串聯,你只是分配給一個新的變量。

+0

我可以看到這個問題在這裏,但不知何故代碼返回一個空白字段,結果沒有顯示出來。我仍然相信這是正確的答案,因爲我測試它在其他地方工作。謝謝! – user1824996

+0

簡單地通過使用REGEX來完成,就像Musa展示的一樣。 –

+0

我完全同意!非常感謝您的建議。 – user1824996

0

在這裏,你應該刪除加號

// Wrong 
var resultValue = + removeDollarSign.replace(/,/g, ''); 
    // correct 
var resultValue = removeDollarSign.replace(/,/g, ''); 
+0

你是對的,感謝您的幫助! – user1824996

0

您可以用簡化這個(刪除所有非數字):

myForm['inputname'].value = $('#Price').text().split('.')[0].replace(/[^\d]/g, '') 
+0

這一個在這個特定的例子,但如果內容是「$ 123,000.00」,它會變成「12300000」? – user1824996

+0

是的,我修正了上面的代碼。 – user1884047

相關問題