我想重用一個函數,並且當我試圖把它放入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()',它的工作就像一個魅力。感謝您的回答。我是否應該在此留言或發表適當的答覆評論? –