2014-11-07 5 views
0

В приведенной ниже функции я хотел бы, чтобы idurl было словом apple с суффиксом. Суффикс number содержит номер. Пример: apple12.Использовать переменную в селекторе jQuery

Но в функции ниже у меня есть проблема с конкатенацией переменной number со словом apple.

function apple(number) { 
    if (something === "0") { 
    $('.onchange :checkbox[idurl="apple" + number]').prop('checked', false); 
    } else { 
    $('.onchange :checkbox[idurl="apple" + number]').prop('checked', true); 
    } 
}; 

Я попытался использовать дополнительные "или [], но это не было очень успешным до сих пор. Переменная number не Бейн признается в качестве переменной, и, таким образом, не сцепляются со словом яблоко.

+2

как бы вы конкатенации строку переменной? Это то же самое. Селектор - это просто строка. – scrappedcola

+1

Это не дубликат, потому что этот вопрос задает вопрос о смешении переменных и селекторов. В этом вопросе спрашивается, почему переменная не добавляется в выходную строку. Этот вопрос требует помощи с кодом, другой спрашивает о практике –

ответ

1

использования

$('.onchange :checkbox[idurl="apple"' + number+']').prop('checked', false); 

Преломление строки:

первая часть '.onchange :checkbox[idurl="apple"'

2-я часть номер

3-я часть строки ']'.

+1

@isherwood, добавлено. –

+0

Спасибо за ваш ответ. Прекрасно работает! – Carnifex

+0

@Carnifex Добро пожаловать :) –

1

Я считаю, что это потому, что оно находится внутри ваших одиночных кавычек. Попробуйте это вместо этого:

$('.onchange :checkbox[idurl="apple"' + number + ']').prop('checked', false); 
1

Вам нужно вызвать функцию с фактическим номером, где аргумент номера в функции есть. Кроме того, javascript не распознает переменные в кавычках, поэтому вам нужно избегать одиночных кавычек.

$('.onchange :checkbox[idurl="apple"' +number +']').prop('checked', false);

Смежные вопросы