powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript in HTML | select'ы
17 сообщений из 17, страница 1 из 1
JavaScript in HTML | select'ы
    #36244798
Avias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, у меня возник вопрос, на который я сам ответить не в состоянии в виду свой не опытности в javascript.

Имеется скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
        <title>Yo!</title>
    </head>
    <body>
        <form action="" name="form_top">
            <select name="server" onchange="toggle(this,'slave')">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
            <select name="slave">
                <option value="1">Slave1Value1</option>
                <option value="1">Slave1Value2</option>
            </select>
        </form>
        <script type="text/javascript">
        var toggle =
            function () {
                var C = {},
                    S = {
                     1  : [['Slave1Value1', '1'], ['Slave1Value2', '2']],
                     2  : [['Slave2Value1', '1'], ['Slave2Value2', '2']],
                     3  : [['Slave3Value1', '1'], ['Slave3Value2', '2']]
                };                               
                function M(v) {
                    var s = document.createElement('select'), i, l;
                    for (i =  0 , l = S[v].length; i < l; i++) {
                        s.options[i] = new Option(S[v][i][ 0 ], S[v][i][ 1 ], false, false);
                    }
                    return (C[v] = s);
                };                           
                return function (t, n) {
                        var s = C[t.value] || M(t.value);
                        t.form.replaceChild(s, t.form[n]);
                        t.form[s.name = n] = s;
                    };
            }();
        </script>
    </body>
</html>

мне нужно к 1 : [['Slave1Value1', '1'], ['Slave1Value2', '2']] дописать еще несколько параметров, чтобы выглядело примерно так 1 : [['Slave1Value1', '1', 'description', 'img'], ['Slave1Value2', '2', 'description', 'img']]
и вывести их на экран.

Вот собственно не знаю, как исправить скрипт под свои нужды, надеюсь, мне помогут.
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245536
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что значит запись
Код: plaintext
1.
2.
3.
4.
5.
S = {
         1  : [['Slave1Value1', '1'], ['Slave1Value2', '2']],
         2  : [['Slave2Value1', '1'], ['Slave2Value2', '2']],
         3  : [['Slave3Value1', '1'], ['Slave3Value2', '2']]
     };     
просто интересно, никогда с такой не сталкивался)) это типа хэшмепа какого-то чтоли)ключ-значение?
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245559
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EmilRegis,

ну да, хэш из двухмерных массивов
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245579
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не хеш, тут нет заданных ключей, это просто двумерный массив.
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245581
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а наврал :) глянул выше.. да, хеш
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245609
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там где добавить, пишешь
Код: plaintext
1.
2.
3.
for (var i =  0 , _s; _s = S["1"][i]; i++) {
    _s.push("description");
    _s.push("img");
}
Или если для всех объектов
Код: plaintext
1.
2.
3.
4.
for (var i in S)
    for (var j =  0 , _s; _s = S[i][j]; j ++) {
        _s.push("description");
        _s.push("img");
    }
Хотя по мне, то лучше иметь набор не массивов, а объектов, как-то удобнее и надежнее, что ли:
Код: plaintext
S = { 1 :[{id:"1", value:"Slave1Value1", desc:"description", tag:"img"}, {...}],  2 :[...]}
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245814
Avias
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruckТам где добавить, пишешь
Код: plaintext
1.
2.
3.
for (var i =  0 , _s; _s = S["1"][i]; i++) {
    _s.push("description");
    _s.push("img");
}
Или если для всех объектов
Код: plaintext
1.
2.
3.
4.
for (var i in S)
    for (var j =  0 , _s; _s = S[i][j]; j ++) {
        _s.push("description");
        _s.push("img");
    }
Хотя по мне, то лучше иметь набор не массивов, а объектов, как-то удобнее и надежнее, что ли:
Код: plaintext
S = { 1 :[{id:"1", value:"Slave1Value1", desc:"description", tag:"img"}, {...}],  2 :[...]}


Спасибо за помощь, но Вы не представляете, сколько нервов мне нужно затратить, чтобы привести это в рабочий код... Боже, почему я никогда не интересовался явой....

Я, конечно, все понимаю, но осмелюсь попросить готовый код..., если это сильно Вас не затруднит.

Я так понимаю, ваша функция выдергивает description и img из конструкции
Код: plaintext
 1  : [['Slave1Value1', '1', 'description', 'img'], ['Slave1Value2', '2', 'description', 'img']]

А как его в последствии вывести?
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245828
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
джавой можете и дальше не интересоваться)) это javascript
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245840
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На экран можете вывести просто...
В нужном месте задать div
Код: plaintext
1.
<div id="content"></div>
И потом его заполнить тем, что вам нужно
Код: plaintext
1.
document.getElementById("contenr").innerHTML = //полученные вами ранее значения;
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36245849
EmilRegis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу не то написал похоже, извините не посмотрел начальный код...
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36246453
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все не так сложно как кажется, если знать базовые основы программирования и понимать синтаксис си-подобных языков (читай - не просирать юность на вижал басике).

вот сколько я сегодня нервов потратил на написание собственного плаина под ckeditor без какой-либо документации, это да :) хотя нет, какие нервы, все оказалось достаточно просто
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36246887
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зывсе не так сложно как кажется, если знать базовые основы программирования и понимать синтаксис си-подобных языков (читай - не просирать юность на вижал басике).
хм, а я именно этим в юности и занималась, всю школу.... А потом в универе, на первом курсе - "бэйсик отстой, даешь курсовую на си!", на третьем - "си отстой, за веб-технологиями будущее! даешь курсовую на пхп!", на четвертом - "пхп отстой, даешь проект на перле!", на пятом - "это все байда, джава - это реально круто, даешь диплом на джаве!". Вот с тех пор я и люблю тихий скромный жаваскрипт, ни на что такое не претендующий...
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36247926
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так у тебя не печальный опыт, а многогранный, радоваться надо :)
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36247968
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эх, моложежь! А меня в универе, на военной кафедре, учили программировать на ЯСК - язык символического кодирования (т.е., ассемблер для Минск-32) и алголе.
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36248032
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зы,
так я и радуюсь... Конечно, в чем-то это сродни "я знаю каратэ, у-шу, айкидо и еще много других страшных слов", но плюсов больше :-)

ShSerge,
как же ты стар!
Хотя нам тоже досталось какое-то такое наследие... Всё, что помню из целого семестра - это как пыталась запрограммировать некий контроллер, управляющий несколькими лампочками, командами а-ля mov(регистр1,регистр2), cmp, add, inc и в итоге у меня получились таки "бегущие огоньки". Что это было - уже наверное ни в жисть не вспомню... Интересно, когда оно вообще отомрет, насовсем?
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36248040
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
конечно, это тихий и простой язык, на котором написан
эмулятор компьютера "спектрум" - вот
парсер математических на джаваскрипте - тута , причём вот всё описание парсера -
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
 $P().do_().factor().choice(
 $P().symbol("^").prim().reduce(function(rv) { return Math.pow(rv[ 0 ], rv[ 2 ]); } ),
 $P().element( 0 )), vs);
});
};

 // <Term> ::= <Prim> * <Term> | <Expo> / <Term> | <Prim>
 P4JS.lib.term = function() {
 return this.bind(function(vs) { this.runParser(
 $P().do_().prim().choice(
 $P().symbol("*").term().reduce(function(rv) { return rv[ 0 ] * rv[ 2 ]; } ),
 $P().symbol("/").term().reduce(function(rv) { return rv[ 0 ] / rv[ 2 ]; } ),
 $P().element( 0 )), vs);
 });
 };

 // <Exp> ::= <Term> + <Exp> | <Term> - <Exp> | <Term>
 P4JS.lib.exp = function() {
 return this.bind(function(vs) { this.runParser(
 $P().do_().term().choice(
 $P().symbol("+").exp().reduce(function(rv) { return rv[ 0 ] + rv[ 2 ]; } ),
 $P().symbol("-").exp().reduce(function(rv) { return rv[ 0 ] - rv[ 2 ]; } ),
 $P().element( 0 )), vs);
 });
 };

 // Executor
 function parse(input) {
 var rdiv = document.getElementById('rdiv'),
 error = document.getElementById('error');

 // Reset results
 rdiv.innerHTML = "";
 error.innerHTML = "";

 // Parse and print results or error
 var p = $P().exp().eoi();
 try {
 var result = p.parse(input)[ 0 ];
 rdiv.innerHTML = result;
 } catch(e) {
 var err = (e.print !== undefined)? e.print() : e;
 error.innerHTML = err;
 }
 }; 
...
Рейтинг: 0 / 0
JavaScript in HTML | select'ы
    #36248117
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeusTheTrueGod,

вполне себе тихие "скромные" примерчики, без криков, холиваров... Замечательно!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript in HTML | select'ы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]