Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2011, 13:37
Новичок на форуме
Отправить личное сообщение для kalina Посмотреть профиль Найти все сообщения от kalina
 
Регистрация: 06.06.2011
Сообщений: 9

select - переключатель
Есть селект и набор чекбоксов. Необходимо disable определённые чекбоксы.
<select>
<option value="zero">- выберите -</option>
<option value="aaa" id="aaa">aaa</option>
<option value="bbb" id="bbb">bbb</option>
<option value="ссс" id="ссс">ссс</option>
<option value="ddd" id="ddd">ddd</option>
</select>

<label id="111"><input type="checkbox" name="f">111</label>
<label id="222"><input type="checkbox" name="f">222</label>
<label id="333"><input type="checkbox" name="f">333</label>
<label id="444"><input type="checkbox" name="f">444</label>
<label id="555"><input type="checkbox" name="f">555</label>
Пример работы:
Выбрал aaa: disable 111+222+444
Выбрал bbb: disable 111+333+444
Выбрал ccc: disable 222+444+555
Выбрал ddd: disable false
Подскажите как реализовать.
Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2011, 14:36
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

создаешь хеш, где пишешь, что скрывать при нажатии aaa,bbb, или чего-нибудь еще.

вешаешь обработчик на изменение верхнего чекбокса, при изменении ищешь значения в хеше и ставишь атрибут disable на те,которые указаны в хеше

пример хеша :


var A = {
 
        'aaa' : [111,222,444],
        'bbb' : [111,333,444]

}


и так далее
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2011, 16:30
Новичок на форуме
Отправить личное сообщение для kalina Посмотреть профиль Найти все сообщения от kalina
 
Регистрация: 06.06.2011
Сообщений: 9

А можно пример?
Я слаб в теме...
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2011, 19:11
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

<select onchange="change(this, 'checkboxes');">
<option value="zero">- выберите -</option>
<option value="aaa" id="aaa">aaa</option>
<option value="bbb" id="bbb">bbb</option>
<option value="ccc" id="ccc">ccc</option>
<option value="ddd" id="ddd">ddd</option>
</select>

<div id="checkboxes">
<label id="111"><input type="checkbox" name="f">111</label>
<label id="222"><input type="checkbox" name="f">222</label>
<label id="333"><input type="checkbox" name="f">333</label>
<label id="444"><input type="checkbox" name="f">444</label>
<label id="555"><input type="checkbox" name="f">555</label>
</div>
<script>
var arr = {'aaa':['111','222','444'],'bbb':['111','333','444'],'ccc':['222','444','555'],'ddd':''};

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};
if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}
k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){
p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}
return p}('e f(6,5){7 1=6.g;7 3=8.b(5).c(\'a\');4(i=0;i<3.9;i++)3[i].2=h;4(i=0;i<d[1].9;i++){8.b(d[1][i]).c(\'a\')[0].2=\'2\'}}',19,19
,'|v|checked|checkboxes|for|id|select|var|document|length|input|getElementById|getElementsByTagName|arr|function|change|value|false|'.split('|'),0,{}))
</script>
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2011, 20:56
Новичок на форуме
Отправить личное сообщение для kalina Посмотреть профиль Найти все сообщения от kalina
 
Регистрация: 06.06.2011
Сообщений: 9

Спасибо, добрый человек!
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2011, 21:45
Интересующийся
Отправить личное сообщение для cyberkatze Посмотреть профиль Найти все сообщения от cyberkatze
 
Регистрация: 13.06.2011
Сообщений: 15

Сообщение от walik Посмотреть сообщение
<script>
var arr = {'aaa':['111','222','444'],'bbb':['111','333','444'],'ccc':['222','444','555'],'ddd':''};

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};
if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}
k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){
p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}
return p}('e f(6,5){7 1=6.g;7 3=8.b(5).c(\'a\');4(i=0;i<3.9;i++)3[i].2=h;4(i=0;i<d[1].9;i++){8.b(d[1][i]).c(\'a\')[0].2=\'2\'}}',19,19
,'|v|checked|checkboxes|for|id|select|var|document|length|input|getElementById|getElementsByTagName|arr|function|change|value|false|'.split('|'),0,{}))
</script>

можно объяснить немного эту часть кода?

и почему нельзя было сделать более попроще с jQ ?
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2011, 23:15
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от cyberkatze
почему нельзя было сделать более попроще с jQ ?
Мне так больше нравится.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2011, 23:16
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от walik Посмотреть сообщение
Мне так больше нравится.
))) так кода меньше)))
Ответить с цитированием
  #9 (permalink)  
Старый 14.06.2011, 10:21
Интересующийся
Отправить личное сообщение для cyberkatze Посмотреть профиль Найти все сообщения от cyberkatze
 
Регистрация: 13.06.2011
Сообщений: 15

ответа так и не получил )
Ответить с цитированием
  #10 (permalink)  
Старый 14.06.2011, 10:43
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от cyberkatze
ответа так и не получил )
Ты ждешь от меня объяснений кода ? почитай учебник, и все что там написано покажется тебе знакомым. А весь код объяснять мне лично лень, ты спроси конкретно что тебе не понятно.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Подгрузка select и работа с ними после! BASSON_XVI jQuery 3 07.01.2011 11:28
Помогите с зависящими select RevivaL Общие вопросы Javascript 10 15.12.2010 14:37
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
заполнить select значениями другого select Central Элементы интерфейса 1 30.05.2009 14:41