R!sh! Ответов: 1

Сопоставление значений массива с идентификатором checkbox id и создание checked=false


у меня есть 9 флажков, чей идентификатор будет от 1-9. У меня есть массив, который состоит из чисел типа var arr = [1,3,4,5,6,7]. теперь флажки должны быть сняты для тех, которых нет в массиве (в массиве arr нет чисел 2,8,9). поэтому для чисел 2,8,9 флажки должны быть сняты, а для чисел в массиве-проверены.
chechbox 1: checked

chechbox 3: checked

chechbox 4: checked

chechbox 5: checked

chechbox 6: checked

chechbox 7: checked


Что я уже пробовал:

for(var x=0;x<9;x++)
{
if(x==arr[x]
{
document.getElementById(x).checked=true;
}
}

Wessel Beulink

Какой фреймворк вы используете? В mvc c# вы должны исправить это в контроллере. Для php у вас есть функция witch, которая уже делает это за вас.

1 Ответов

Рейтинг:
8

Karthik_Mahalingam

пробовать

var arr = [1, 3, 4, 5, 6, 7];
        for (var x = 1; x <= 9; x++) { 
            document.getElementById(x).checked = arr.indexOf(x) > -1;
        }

относиться Метод JavaScript Array indexOf() [^]

Демонстрация: - JSFiddle[^]


Wessel Beulink

Почему вы должны использовать javaScript для обработки флажков?

Karthik_Mahalingam

так как ОП разместил этот вопрос под тегом " Javascript"

Wessel Beulink

справедливо.

Karthik_Mahalingam

:)

R!sh!

Я все написал на javascript.

Karthik_Mahalingam

Хорошо. Это работает?

R!sh!

я его работаю. но когда я помещаю тот же код в свое приложение, он не работает. я получаю эти значения arr из другого файла.

Karthik_Mahalingam

Поместите JavaScript в нижней части страницы
До конца тега body

R!sh!

я получаю эти значения arr из другого файла perl. это будет похоже на 1**3**4**5**6**7. я использовал split ("** " ), и результат был похож на 1,3,4,5,6,7.
я храню эти 1,3,4,5,6,7 в var arr. Вот что я делаю.

Karthik_Mahalingam

Пост ваш полный код

R!sh!

функция go1(атома)
{
var cnt = document. getElementById ('tot_cnt'). value; / / значение cnt(count) равно 9
var atomss = atoma. split("**");
для (x=1;x<=cnt; x++)
{
документ.метода getElementById(х).проверено = atomss.метод indexOf(х) &ГТ; -1;
}


// в начале все флажки будут проверены.
// после использования одного и того же кода все флажки будут сняты.

Karthik_Mahalingam

что вы передаете в атоме

R!sh!

атома будет иметь 1**3**4**5**6**7. но я понимаю, что это будет строковый тип данных или любой другой тип данных.
функция вызывает. никаких проблем с вызовом функций.

Karthik_Mahalingam

называется ли эта функция?
поставьте alert() и проверьте

R!sh!

попробуйте этот код.
я понял.
var atomss = atoma. split("**");
atomss.присоединяйтесь("");
var res123 = String(atomss);
для (x=1;x<=cnt; x++)
{
документ.метода getElementById(х).проверено = res123.метод indexOf(х) &ГТ; -1;
}

Karthik_Mahalingam

пробовать

var atomss = atoma. split("**");
для (x = 1; x <= cnt; x++) {
документ.метода getElementById(х).проверено = atomss.метод indexOf(х) &ГТ; -1;
}

R!sh!

да, сделано.
Спасибо...!!

Karthik_Mahalingam

добро пожаловать