Как изменить атрибут переменной в Jquery?
Я борюсь с чем-то основным, и я не могу решить это.
Следующее работает отлично:
switch (url_param) {
case '80':
$('input[name=power][value=80]').prop('checked', true);
break;
case '90':
$('input[name=power][value=90]').prop('checked', true);
break;
case '99':
$('input[name=power][value=99]').prop('checked', true);
break;
}
Однако мне приходится взаимодействовать со многими различными входными данными на странице, поэтому я хотел бы сначала сохранить их в переменных, например
$input_power = $('input[name=power]');
Как я могу достичь того же результата, используя переменную?
3 ответа
Решение
Ты можешь использовать filter()
метод отфильтровать соответствующий элемент.
Сократите набор совпадающих элементов до тех, которые соответствуют селектору или проходят тест функции.
var $input_power = $('input[name=power]');
switch (url_param) {
case '80':
case '90':
case '99':
$input_power.filter(function(){
return parseInt(this.value, 10) == parseInt(url_param, 10);
}).prop('checked', true);
break;
}
В приведенном выше примере я улучшил код и использовал parseInt(str, radix)
для целого числа.
Удалить оператор регистра и использовать только одну строку
$('input[name=power][value='+ url_param +']').prop('checked', true);
Попробуй это:
var myInput = $('input[name=power][value=80]');
Где-то позже в вашем коде:
$(myInput).prop('checked', true);
Надеюсь это поможет.