JQuery таргетинг на правильный переключатель не отвечает - PullRequest
0 голосов
/ 23 июня 2010

У меня есть массив javascript, содержащий имя и значения радио, которые я хочу проверить.

jQuery(window).load(function(){

var selected_options = new Array();
selected_options['swing_type'] = 'Slide';

    var x;
    for (x in selected_options){
        jQuery("#menu input[name="+ x +"][value="+ selected_options[x] +"]").attr('checked', 'checked');
    }
});

И HTML имеет что-то вроде:

<td>
    <input type="radio" id="swing" name="swing_type" value="Swing" /><label for="swing"> Swing</label><br />

    <input type="radio" id="slide" name="swing_type" value="Slide" /><label for="slide"> Slide</label>
  </td>

Когда я запускаю этот скрипт,браузер перестает отвечать на запросы.Я попробовал несколько вариантов, следующие два сработали:

 jQuery("#menu input[value="+ selected_options[x] +"]").attr('checked', 'checked'); 
jQuery("#menu input[name=swing_type][value=Swing]").attr('checked', 'checked');

Следующее не сработало:

jQuery("#menu input[name=swing_type][value="+ selected_options[x] +"]").attr('checked', 'checked');

Я надеюсь, что кто-то может объяснить мне, что не так.Я хочу выбрать правильные радиовходы.Если бы я только предназначался для значений, я мог видеть случай, когда могло быть два отдельных набора со значениями Да / Нет.Спасибо.

1 Ответ

2 голосов
/ 23 июня 2010

Вы делаете для / в над массивом.Иногда это может вызвать проблемы.

Поскольку вы указываете именованные ключи, вы должны использовать вместо этого объект:

var selected_options = {};

или

var selected_options = new Object();

Проверьтепример: http://jsfiddle.net/Ds3s8/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...