2016-04-25 1 views
1

У меня есть функция, которая выполняет итерацию через переданный массив через SSJS под названием «ps_data», одна из пар значений ключа содержит значение «urlencoded» и по какой-то причине оно продолжает ломать мои Код JQuery.Селектор атрибутов не работает (синтаксическая ошибка, нераспознанное выражение)

Мне нужно, чтобы это значение передавалось точно так, как оно есть.

$(document).ready(function() { 
    $.each(ps_data, function (key, value) { 
    $("input:radio[name="+key+"][value="+value+"]").prop("checked", true); 
    console.log(key+ ":" + value); 
    }); 
}); 

Я получаю эту ошибку, даже если это значение точно так, как мне нужно, и оно кодируется URL. Когда я просто использую правильную строку, она отлично работает, только со значением guid.

Syntax error, unrecognized expression: 

input:radio[name=guid][value=QyveK1%40vUnHeTQiwCn0IWGdEpmNqbUHL6cITnxlQHgI%3d] 

ответ

3

Вы отсутствуют котировки для [name=”value”] selector.

Это решает проблему:

$('input:radio[name="' + key + '"][value="' + value + '"]') 

=>

$('input:radio[name="guid"][value="QyveK1%40vUnHeTQiwCn0IWGdEpmNqbUHL6cITnxlQHgI%3d"]')