我想重用一个函数,并且当我试图把它放入indexOf()
的内部时,我正在定义一个打破函数的变量。我尝试了几个近似值,但我无法弄清楚它为什么不起作用。该代码是这样的:indexOf里面的javascript变量
function toggleSelectAll(control, nadaValue) {
var allOptionIsSelected = (control.val() || []).indexOf('"' + nadaValue + '"') > -1;
在功能上是打破的情况下,toggleSelectAll
被称为像这样:
toggleSelectAll($(this), 1);
试图替补多此一:
function toggleSelectAll(control) {
var allOptionIsSelected = (control.val() || []).indexOf("1") > -1;
你可以看到几个JSFiddle的例子来说明更好:
这个作品:http://jsfiddle.net/victorRGS/o8cjtoqp/1/
这并不:http://jsfiddle.net/victorRGS/o8cjtoqp/2/
如果您可以在此抛出一些轻那就太好了!提前致谢!
试试'.indexOf(nadaValue)'? – tcooc
首先,删除变量名称周围的引号。目前'indexOf'试图找到文字'“1”'。然后你需要传递一个字符串,或者找到'nadaValue.toString()',因为'indexOf'使用严格的比较。 – Teemu
好吧,我找到了解决方案,是@Teemu说的,我必须转换'nadaValue.toString()',它的工作就像一个魅力。感谢您的回答。我是否应该在此留言或发表适当的答复评论? –