Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Ява скрипт   Найти похожие ветки 

 
AlexDan ©   (2010-05-27 10:58) [0]

Я в ява вообще никак, может кто что подскажет.. задача очень простая, есть html страничка, на ней выбор-падающее меню- <select name=.., есть ещё два edita <input name=.. Т.е. меню - выбор- деталь 1, input - её длина, второй input - её масса, соответственно деталь 2, значения в input сменяются, насколько я понимаю через ява скрипт удобнее всего, т.к. нужно чтоб страница не обнавлялась.. может кто видел где что-то такое уже реализованно, хоть посмотреть..


 
12 ©   (2010-05-27 11:09) [1]

Вот по примеру сделать можно
Тут два combobox, второй заполняеется в зависимости от первого
с эдитом не сложнее будет сделать

<script>
var ALL = Array("");
var Lamb = Array("Атюрьевский РТУ","Ельниковский РТУ","Ичалковский РТУ","Краснослободский РТУ","Лямбирский ЛТЦ","Ромодановский РТУ","Старошайговский РТУ","Темниковский РТУ","Теньгушевский РТУ");
var Ruza = Array("Зубовополянский РТУ","Инсарский РТУ","Ковылкинский РТУ","Рузавский ЛТЦ","Торбеевский РТУ");
var Cham = Array("Ардатовский РТУ","Атяшевский РТУ","Большеберезниковский РТУ","Большеигнатовский РТУ","Дубёнский РТУ","Кочкуровский РТУ","Чамзинский ЛТЦ");
var CIT = Array();
var TCT = Array("УСПД","ЛУ№3","Станционный цех","Линейный цех","ЦПД");
function showNames(v){
var mas = eval(v);
var el = document.getElementById("names");
while(el.childNodes.length>0){
 el.removeChild(el.childNodes[el.childNodes.length-1]);}
 if (mas.length > 1) {
   el.style.display = "";
   for(var i=0;i<mas.length;i++){
   var opt = document.createElement("option");
   opt.innerHTML=mas[i];
   el.appendChild(opt);}
 }
 else {el.style.display = "none";}
}
</script>

<body onload="showNames("Lamb")">
<select id="level" onchange="showNames(this.value)">
<option value="Lamb">Лямбирьский МТУ</option>
<option value="Ruza">Рузаевский МТУ</option>
<option value="Cham">Чамзинский МТУ</option>
<option value="CIT">ЦИТ</option>
<option value="TCT">ТЦТ</option>
</select>
<br>
<select id="names">
</select>


 
Игорь Шевченко ©   (2010-05-27 11:29) [2]

ты когда-нибудь тему вопроса научишься оформлять ? Или это настолько непостижимая наука, что высшего образования не хватает ?


 
AlexDan ©   (2010-05-27 11:46) [3]

> Игорь Шевченко ©   (27.05.10 11:29) [2]
название - Как привязать ява скрпт к select в html страничке
вопрос - тоже самое, что в [0].
и что вообщем-то изменилось? главное-суть и итого.:).

> 12 ©   (27.05.10 11:09) [1]
вот что у меня получилось (основная идея конечно)
<script>
function showNames{

if (select.sten.value = 1) {
input.dlpol.value=5.95;
input.shpol.value=10;
}

if (select.sten.value = 2) {
input.dlpol.value=2.7;
input.shpol.value=14.7;
}

if (select.sten.value = 3) {
input.value.dlpol=2.5;
input.value.shpol=8;
}
}
</script>

<select name="sten" size="1" style="width: 87px" onchange="showNames">
<input name="dlpol" type="text" style="width: 70px; height:21" size="20" value="5.95" />
<input name="shpol" type="text" style="width: 70px; height:21" size="20" value="10"/>
Ошибок наверняка миллион, по причине [0], просьба поправить если чего нужно..


 
AlexDan ©   (2010-05-27 12:02) [4]

да, то что я написал совершенно не работает, может кто подскажет что там исправить..?


 
12 ©   (2010-05-27 12:13) [5]

да вот же, просто 1й элемент взять

<script>

var ALL = Array("");
var Lamb = Array("Атюрьевский РТУ","Ельниковский РТУ","Ичалковский РТУ","Краснослободский РТУ","Лямбирский ЛТЦ","Ромодановский РТУ","Старошайговский РТУ","Темниковский РТУ","Теньгушевский РТУ");
var Ruza = Array("Зубовополянский РТУ","Инсарский РТУ","Ковылкинский РТУ","Рузавский ЛТЦ","Торбеевский РТУ");
var Cham = Array("Ардатовский РТУ","Атяшевский РТУ","Большеберезниковский РТУ","Большеигнатовский РТУ","Дубёнский РТУ","Кочкуровский РТУ","Чамзинский ЛТЦ");
var CIT = Array();
var TCT = Array("УСПД","ЛУ№3","Станционный цех","Линейный цех","ЦПД");
function showNames(v){
var mas = eval(v);
var el = document.getElementById("names");
el.value = mas[1];

}
</script>

<body onload="showNames("Lamb")">
<select id="level" onchange="showNames(this.value)">
<option value="Lamb">Лямбирьский МТУ</option>
<option value="Ruza">Рузаевский МТУ</option>
<option value="Cham">Чамзинский МТУ</option>
<option value="CIT">ЦИТ</option>
<option value="TCT">ТЦТ</option>
</select>
<br>
<input id="names">
</select>


 
Игорь Шевченко ©   (2010-05-27 12:15) [6]


> и что вообщем-то изменилось?


Да собственно, ничего не изменилось.
В правилах написано:

"Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса"

вот и следуй правилам. В следующий раз буду удалять не читая.


 
Palladin ©   (2010-05-27 12:16) [7]

http://tinyurl.com/2ve3q2a


 
makvell   (2010-05-27 12:16) [8]


<script>
   var lenArr = ["5", "10", 20];
   var mArr = ["123", "456", "789"];
   function selOnChange() {
       var selIndex = document.getElementById("mySelect").selectedIndex;
       document.getElementById("myLenInput").value = lenArr[selIndex];
       document.getElementById("myMasInput").value = mArr[selIndex];
   }
</script>


Порядок элементов в селекте должен соответствовать порядку элементов в массивах длин и масс. Можно по идам к ним обращаться, можно через form.input.name, тут как удобнее.


 
Плохиш ©   (2010-05-27 12:19) [9]


> Игорь Шевченко ©   (27.05.10 11:29) [2]

Ты его ещё попроси писать без ошибок :-))

> AlexDan ©   (27.05.10 11:46) [3]

T.e. [1] читать это не для крютых пацанов, а тебе код подавай для копи/паста? Тогда советую нанять программиста, даже можно студента.


 
12 ©   (2010-05-27 12:19) [10]


> Ошибок наверняка миллион, по причине [0], просьба поправить
> если чего нужно..

спросил..
сам Яву вторую неделю только смотрю
Проверь сам, в html загони и браузером открой.
Можно аддон к FF, по имени FireBug, поставить - он подробнее расскажет как именно на текущей странице натупили :)


 
Плохиш ©   (2010-05-27 12:22) [11]


> 12 ©   (27.05.10 12:19) [10]


> Проверь сам

Ты чё, а форум тогда на что? Тут должны любую галиматью оттестировать и корректный код дать.


 
makvell   (2010-05-27 12:24) [12]


> 12 ©   (27.05.10 12:19) [10]
> спросил..
> сам Яву вторую неделю только смотрю


Ээээ, насяльника. Не нужно путать яву и яваскрипт, это все таки не одно и тоже :)


 
AlexDan ©   (2010-05-27 12:31) [13]

> > AlexDan ©   (27.05.10 11:46) [3]
> T.e. [1] читать это не для крютых пацанов, а тебе код подавай
> для копи/паста? Тогда советую нанять программиста, даже
> можно студента.
нет, [3] это глубокий тюнинг из [1], когда пишу на форумах проверка орфографии отключается автоматически для высвобождения ресурсов интеллекта)..


 
makvell   (2010-05-27 12:34) [14]


> makvell   (27.05.10 12:16) [8]

Кстати, можно добавить еще в массивы первым элементом пустую строку, а в селекте первым элементов option с value="", тогда при выборе из списка будут чиститься и поля тоже, и при первом появлении все будет верно (т.е. нигде ничего не заполнено) :)


 
Плохиш ©   (2010-05-27 12:53) [15]


> нет, [3] это глубокий тюнинг из [1]

Перед тем как что-то "тюнинговать" надо минимум синтаксис используемого средства изучить.


 
aka   (2010-05-27 14:05) [16]


> AlexDan ©   (27.05.10 11:46) [3]
>
> > Игорь Шевченко ©   (27.05.10 11:29) [2]
> название - Как привязать ява скрпт к select в html страничке
> вопрос - тоже самое, что в [0].
> и что вообщем-то изменилось? главное-суть и итого.:).
>
> > 12 ©   (27.05.10 11:09) [1]
> вот что у меня получилось (основная идея конечно)
> <script>
> function showNames{
>
> if (select.sten.value = 1) {
> input.dlpol.value=5.95;
> input.shpol.value=10;
> }
>
> if (select.sten.value = 2) {
> input.dlpol.value=2.7;
> input.shpol.value=14.7;
> }
>
> if (select.sten.value = 3) {
> input.value.dlpol=2.5;
> input.value.shpol=8;
> }
> }
> </script>
>
> <select name="sten" size="1" style="width: 87px" onchange="showNames">
> <input name="dlpol" type="text" style="width: 70px; height:
> 21" size="20" value="5.95" />
> <input name="shpol" type="text" style="width: 70px; height:
> 21" size="20" value="10"/>
> Ошибок наверняка миллион, по причине [0], просьба поправить
> если чего нужно..
>


сделай так
function showNames(elem) {
 if (elem.value = 1) {
 
 var input1 = document.getElementById("dlpol");
 var input2 = document.getElementById("shpol");
 input1.value=5.95;
 input2.value=10;
 }
}

вызов  onchange="showNames(this)"
и наверное не if (elem.value = 1) { - это ведь присвоить! (==)


 
aka   (2010-05-27 14:07) [17]


>  var input1 = document.getElementById("dlpol");


только
<input id="dlpol" type="text" style="width: 70px; height:21" size="20" value="5.95" />
<input id="shpol" type="text" style="width: 70px; height:21" size="20" value="10"/>


 
AlexDan ©   (2010-05-27 14:38) [18]

> aka   (27.05.10 14:07) [17]
Есть, заработало, очень (!) спасибо!;).


 
Игорь Шевченко ©   (2010-05-27 14:49) [19]


> когда пишу на форумах проверка орфографии отключается автоматически
> для высвобождения ресурсов интеллекта


insufficient resources


 
makvell   (2010-05-27 14:53) [20]


> AlexDan ©   (27.05.10 14:38) [18]

Странная радость :)
А когда вариантов станет больше, что будем делать, добавлять новые элементы, дописывать еще один иф? ;)

ЗЫ И если это таки форма, которую нужно отправить, может лучше вернуть инпутам атрибут name?

ЗЗЫ И если инпуты зависят от выбора в селекте, может не стоит давать их редактировать? :)


 
AlexDan ©   (2010-05-27 15:01) [21]

> makvell   (27.05.10 14:53) [20]
> А когда вариантов станет больше, что будем делать, добавлять
> новые элементы, дописывать еще один иф? ;)
Вариантов три, поэтому этим и обошёлся..
> ЗЗЫ И если инпуты зависят от выбора в селекте, может не
> стоит давать их редактировать? :)
пусть редктируются, это нормально.
> ЗЫ И если это таки форма, которую нужно отправить, может
> лучше вернуть инпутам атрибут name?
это форма которую нужно отправить, name уже вернул).



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.048 c
15-1268371530
vajo
2010-03-12 08:25
2010.08.27
Непонятки с сетью на ноуте


2-1269273213
Nostalgia
2010-03-22 18:53
2010.08.27
очереди


2-1230152428
тимохов
2008-12-25 00:00
2010.08.27
Философия windows-библиотеки WinINet


2-1271616095
Б
2010-04-18 22:41
2010.08.27
Как ToolWindow-окну добавить кнопку минимизации?


2-1270922444
Evgeney
2010-04-10 22:00
2010.08.27
Процедура для открытия Child форм