2011-08-03 34 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);