Рейтинг:
1
enhzflep
Прежде чем я начну, я собираюсь повторить то, что Кристиан сказал ранее. Это не очень-то "урджент" . нам вообще. Это было объединено с "заранее благодарностью", которая может быть истолкована некоторыми как указание на то, что любые усилия не будут признаны после факта.
Для меня последние два предложения вашего вопроса испортили то, что в противном случае было бы-хорошо. "это очень urjent. Заранее спасибо"
В любом случае, это не так уж и сложно. Посещать http://www.w3schools.com/js/default.asp[^] часто считайте его примерно эквивалентным MSDN для всех вещей, связанных с интернетом, хотя, по общему признанию, он не так всеобъемлющ.
Попробуйте сделать следующее:
<!DOCTYPE html>
<html>
<head>
<script>
function byId(e) {return document.getElementById(e);}
function stateComboChange()
{
var combo1 = byId('stateCombo');
var combo2 = byId('cityCombo');
// alert(combo1.value);
emptyCombo(combo2);
switch(combo1.value)
{
case '-1': addOption(combo2, -1, '-select state first-');
break;
case '0': addOption(combo2, 0, 'Melbourne');
addOption(combo2, 1, 'Horsham');
break;
case '1': addOption(combo2, 2, 'Sydney');
addOption(combo2, 3, 'Bondi');
break;
case '2': addOption(combo2, 4, 'Hobart');
addOption(combo2, 5, 'Port Arthur');
break;
}
cityComboChange();
}
function cityComboChange()
{
var combo2, tgt;
combo2 = byId('cityCombo');
tgt = byId('tgt');
tgt.innerHTML = combo2.options[combo2.options.selectedIndex].title;
}
function emptyCombo(e)
{
e.innerHTML = '';
}
function addOption(combo, val, txt)
{
var option = document.createElement('option');
option.value = val;
option.title = txt;
option.appendChild(document.createTextNode(txt));
combo.appendChild(option);
}
</script>
</head>
<body>
<select id='stateCombo' onchange='stateComboChange();'>
<option value='-1' title='-select one-'>-select one-</option>
<option value='0' title='Vic'>Vic</option>
<option value='1' title='Nsw'>Nsw</option>
<option value='2' title='Tas'>Tas</option>
</select>
<select id='cityCombo' onchange='cityComboChange();'>
<option value='-1' title='-select state first-'>-select state first-</option>
</select>
<div id='tgt'></div>
</body>
</html>
Отредактировано для добавления отображения текста выбранного элемента списка городов.
Naveen_143
Привет...спасибо за ваш ответ. Мило. У меня есть сомнения, не могли бы вы сказать мне, как привязать выделенное значение к полю со списком в javascript.
Rockingadget
Привет,
Большое спасибо enhzflep за этот приятный код. Помогите мне очень сильно!
Можно ли также иметь код для "катинга" выбранных значений и с помощью кнопки отправки отправлять их по электронной почте?
с уважением
Андреас Ахиллеос
enhzflep
Конечно, как только я пойму, что вы имеете в виду. Что вы хотите этим сказать?
Я знаком с этим термином, когда элемент управления представлен в виде объекта управления, а входные данные представлены в виде объекта списка.
Например, Flex, .NET, M$ Acess... никогда не видел, чтобы его использовали в этом контексте.
Так что же вы имеете в виду, не используя слово привязать?
enhzflep
Всегда пожалуйста, Андреас. Я сам уже много лет не отправлял никаких сообщений электронной почты и должен был бы исследовать себя, чтобы быть уверенным, хотя я полагаю, что вы могли бы использовать значения, полученные из комбинированных полей, для построения URL-адреса типа mailto. Url-адрес, который откроет почтовую программу по умолчанию на клиентском компьютере с предварительно заполненными полями TO: TITLE: и BODY:. В противном случае вы можете просто перехватить значения на стороне сервера и использовать серверное решение для электронной почты.
Naveen_143
Я имею в виду ... когда я выбираю значение в поле со списком,оно не отображается. Отображается только синее пустое поле. Как отобразить выбранное значение поля со списком.?
Rockingadget
Спасибо за ответ.
Я займусь этим делом.
Итак, чтобы затем взять значения из этих ящиков cobo, должен ли я использовать команду document.getElementById, а затем использовать ее для дальнейшего процесса?
Спасибо
с уважением,
Андреас Ахиллеос
enhzflep
Если я правильно понимаю вопрос, то это делает функция cityComboChange.
Вы пробовали запустить код, который я вставил? Когда вы выбираете опцию из 2 - го поля со списком, все, что вы выбрали, отображается под ней-внутри div с идентификатором "tgt"
Ни в одном из двух полей со списком, которые я использовал, нет пустых опций, поэтому вы никогда не сможете получить из них пустое значение.
// возвращает элемент, который находится в поле со списком
var combo2 = byId('cityCombo');
// возвращает строку и значение выбранного параметра
ВАР selectedStr = combo2.варианты[combo2.варианты.свойства selectedIndex].название;
ВАР selectedVal = combo2.значение;
Это помогает? - (Я все еще не уверен, что правильно вас понял)
Naveen_143
Привет ... извините за поздний ответ.
Спасибо за объяснение. Я узнал несколько новых моментов из вашего кода и объяснений. В любом случае я нашел другое решение своей проблемы.
Спасибо, что уделили мне время.
Рейтинг:
0
Christian Graus
Для нас это не "урджент". Это не ваше право беспокоить нас, чтобы мы делали вашу работу за вас, быстрее.
Вы не можете сделать это только в Javascript и HTML. Вы используете ASP.NET -что ? В ASP.NET, событие загрузки страницы срабатывает до вашего события, а предварительный просмотр страницы срабатывает после него. Таким образом, если вы заполняете свои списки при загрузке страницы, ваше событие запускает и изменяет выбранный индекс после загрузки данных. Переместите этот код в пререндер.
Это дикая догадка, основанная на вашем неполном посте. Уточните и напишите код, если я ошибаюсь.
Naveen_143
Спасибо за ваш ответ. Я не использую ASP.Net. Это только HTML - страницы и java-скрипты.
Naveen_143
Функции onChange, после первого комбобокса, я заполнения значения во втором поле со списком.
Christian Graus
Почему это так срочно, если вы делаете это таким образом ? Почему бы не опубликовать свой код ?