2013-04-12 43 views
1

我創建了一個動態庫存表,它載入一個包含產品列表的表格,其中一個表格是一個html複選框,我已將該複選框鏈接到一個javascript函數以使用onclick事件並將產品ID傳遞到函數()中。將混合字符串傳遞給Javascript函數

當產品ID只是一個數字,如12345,JavaScript工作正常,但是當ID是混合字符串,如12345-HIGH,則Javascript失敗。我需要保持ID不變,因爲它稍後會用到,所以我無法更改或轉換它?

我似乎無法找到將混合字符串傳遞給javascript函數的方法。我不確定這是否有幫助,但ID通常會在其中包含' - ',並且文本(如果有的話)總是會有所不同。

+5

請發佈此功能的代碼和調用它的代碼。 –

+0

JS中沒有「混合字符串」這樣的東西。很可能代碼只是期望一個數字,並且對提供的參數使用數字比較。 – Alnitak

+0

我不認爲js中有「混合字符串」之類的東西。你有簡單的字符串。如果您是從元素屬性檢索產品ID應該是,即使它只是由數字組成 – dm03514

回答

1

很難知道不知道什麼一切可能的字符串是由正確的答案,但它聽起來像它會

  1. 總是以數字
  2. 啓動
  3. 有時會有一個-後跟一個字符串

如果這些都是真的,你可以這樣做:

var productId = "12345-HIGH"; 
var num = productId.split('-')[0]; 

它仍然是在這一點上的字符串,但你可以用parseInt(num)轉換爲整數,如jxpx777公佈。

+0

這工作,非常感謝你! – Alex

1

如果你知道你的字符串將始終與你想提取,可以使用parseInt()和利用的Javascript的性質分析只提取數字部分的數字部分開頭:

parseInt("12345-HELLO") 

將返回12345作爲整數。但

parseInt("HELLO-12345-HELLO") 

將返回NaN

+0

反正是有保持整個字符串,因爲它隨後被傳遞給它檢查你看到數據庫的PHP頁面,所以我要求它完全一樣,當涉及到文本時,腳本甚至不想運行。 – Alex

相關問題