Я пытаюсь повторно использовать функцию, и я определяю переменную, которая нарушает функцию при попытке разместить ее внутри indexOf()
. Я пробовал несколько приближений, но я не могу понять, почему он не работает. Код выглядит так:переменная javascript внутри indexOf
function toggleSelectAll(control, nadaValue) {
var allOptionIsSelected = (control.val() || []).indexOf('"' + nadaValue + '"') > -1;
В случае функция нарушения, toggleSelectAll
называется так:
toggleSelectAll($(this), 1);
пытается subsitute это один:
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()', и он работал как шарм. Спасибо за ваши ответы. Должен ли я оставить этот комментарий здесь или разместить надлежащий ответ? –