2011-08-03 75 views
1

我有一個varaiable在JavaScript像下面如何過濾逗號分隔的整數值以JavaScript

var element = parent.document.getElementById('productCollectionField'); 
    var values = element.value; 

以及輸入場像

<input type="hidden" value="1,2,3,4" id ="productCollectionField" /> 

所以變種元素包含1,2,3, 4

現在我值5,而我要檢查它的價值?我怎樣才能做到這一點...?這些數字可以是任何東西。

+0

你問如何使用String.split? https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split – Kyril

+0

將值總是整數? – jackJoe

+0

是這些數值總是整數 –

回答

4
var myResults = values.split(",") 

然後,您將有一個數組,你可以解析

+0

如何可以解析 –

+0

您可以使用jQuery的['每()'](http://api.jquery.com/jQuery.each/)函數或看到這個帖子:HTTP ://stackoverflow.com/questions/2761975/parse-javascript-array – JMax

+0

@SaurabhKumar這將使對數組中的值,以便可以再使用myResults [0]的第一個值,myResults [1]用於第二等。 –

2

是jQuery的提供給你?如果是的話,你可以像這樣做:

首先,什麼JMAX說:

var myResults = values.split(",") 

定義將成爲合併後的輸出字符串:

var newString = ''; 

然後,

if (jQuery.inArray(5, myResults) == -1) { 

    myResults.push(5); 

    newString = myResults.join(','); 
} 

乾杯,

3

最簡單的解決方案是使用以下函數,該函數返回true是否數字在值字符串中。

var value = '1,2,3,4'; 

function checkNumber(number, values) { 
    var numberExists = false; 
    var strArray = values.split(",") 

    for (var i = 0; i < strArray.length; i++) 
    { 
     // You could use if (strArray[i] == number), but using === is advised 
     // since it's more specific about the type 
     if (parseInt(strArray[i]) === number) 
      numberExists = true; 
    } 
    return numberExists; 
} 

// returns false 
checkNumber(5, value); 

// returns true 
checkNumber(2, value);