13.06.2011, 13:37
|
Новичок на форуме
|
|
Регистрация: 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
Подскажите как реализовать.
Спасибо.
|
|
13.06.2011, 14:36
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
создаешь хеш, где пишешь, что скрывать при нажатии aaa,bbb, или чего-нибудь еще.
вешаешь обработчик на изменение верхнего чекбокса, при изменении ищешь значения в хеше и ставишь атрибут disable на те,которые указаны в хеше
пример хеша :
var A = {
'aaa' : [111,222,444],
'bbb' : [111,333,444]
}
и так далее
|
|
13.06.2011, 16:30
|
Новичок на форуме
|
|
Регистрация: 06.06.2011
Сообщений: 9
|
|
А можно пример?
Я слаб в теме...
|
|
13.06.2011, 19:11
|
|
Профессор
|
|
Регистрация: 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 клацай
|
|
13.06.2011, 20:56
|
Новичок на форуме
|
|
Регистрация: 06.06.2011
Сообщений: 9
|
|
Спасибо, добрый человек!
|
|
13.06.2011, 21:45
|
Интересующийся
|
|
Регистрация: 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 ?
|
|
13.06.2011, 23:15
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
Сообщение от cyberkatze
|
почему нельзя было сделать более попроще с jQ ?
|
Мне так больше нравится.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
|
|
13.06.2011, 23:16
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от walik
|
Мне так больше нравится.
|
))) так кода меньше)))
|
|
14.06.2011, 10:21
|
Интересующийся
|
|
Регистрация: 13.06.2011
Сообщений: 15
|
|
ответа так и не получил )
|
|
14.06.2011, 10:43
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
Сообщение от cyberkatze
|
ответа так и не получил )
|
Ты ждешь от меня объяснений кода ? почитай учебник, и все что там написано покажется тебе знакомым. А весь код объяснять мне лично лень, ты спроси конкретно что тебе не понятно.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
|
|
|
|