Флажки цикла jQuery и галочки, идентификатор которых существует в массиве чисел - PullRequest
0 голосов
/ 19 октября 2010

Я работаю над сценарием, который получит массив идентификаторов JSON.Основываясь на результатах, я затем перебираю все флажки на странице и проверяю поля, в которых есть идентификатор в массиве JSON.

Флажки названы так: name = "name [id]" id ="name [id]"

Как зациклить флажки и определить, существует ли идентификатор (между [и]) в массиве JSON?

Ответы [ 2 ]

1 голос
/ 19 октября 2010

Патрик правильный, недопустимо иметь [ и ] в атрибуте.Предполагая, что ваш HTML выглядит примерно так:

<input type="checkbox" name="name1" /><br/>
<input type="checkbox" name="name2" /><br/>
<input type="checkbox" name="name3" /><br/>
<input type="checkbox" name="name4" /><br/>

Вы можете использовать Концы атрибутов с селектором :

var ids = new Array();
ids[0] = 1;
ids[1] = 3;

$.each(ids, function(index, value) {
    $("input[name$='name" + value + "']").attr("checked", "checked");
});
0 голосов
/ 19 октября 2010

Недопустимо иметь [ и ] в атрибуте HTML4 ID.

Тем не менее, вы можете сделать .filter(), чтобы проверить каждый элемент на наличие идентификатора в массиве:

var array; //holds the Array from the JSON

$(':checkbox').filter(function() {
    var id = this.id.slice( this.id.indexOf('[') + 1, -1 );
    return $.inArray( id, array ) > -1;
})
  .attr('checked','checked');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...