Взять две переменные из двух выпадающих списков и вывести их в input
Здравствуйте. Есть два значения name и name1. Как сделать чтобы в поле input вывелось name пробел name1? Просто сложить их вот так калькулятором не удалось:help: Где ошибка и почему?
function calculat() {
var name2 = name + name1;
document.getElementById("name + name1").value=v2;
};
<select onchange="changeSel(this);"> <option value='1'></option> <option value="2">Mersedes</option> </select> <select onchange="changeSel1(this);"> <option value="1">S-Class</option> <option value="2">Sprinter</option> </select> </br> </br> <input type="text" name="" id="name2" value="">
<script type='text/javascript'>
function changeSel(el){
var v, n;
n=el.selectedIndex;
v=el[n].text;
document.getElementById("name").value=v;
};
function changeSel1(el){
var v1, n1;
n1=el.selectedIndex;
v1=el[n1].text;
document.getElementById("name1").value=v1;
};
</script>
|
Чувааак, подучи JS, я запутался в логике кода, тут наркомания какая-то))
//сложение с пробелом
document.querySelector('#name2').value = name + ' ' + name1;
|
я понимаю, что я не грамотный в яваскрипте, но хочу разобраться как это работает)). За основу был взят код с какого-то сайта.
Я правильно понимаю, что document.querySelector нужно заносить в onclick поля? |
Kolko,
а тебе именно по клику надо? Вот пример по клику:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text" id="my-id" onclick="calculat()">
</body>
<script>
function calculat() {
var name = 'значение';
var name1 = 'значение1';
document.querySelector('#my-id').value = name + ' ' + name1;
}
</script>
</html>
|
Цитата:
Благодарю, что помогаете. Но почему когда мы складываем функцией calculat значение name и name1 они не складываются? Их как будто не существует:) Вот весь мой код:
<select onchange="changeSel(this);">
<option value='1'></option>
<option value="2">Mersedes</option>
</select>
<select onchange="changeSel1(this);">
<option value="1">S-Class</option>
<option value="2">Sprinter</option>
</select>
</br>
</br>
<input type="text" id="my-id" onclick="calculat()">
<script type='text/javascript'>
function changeSel(el){
var v, n;
n=el.selectedIndex;
v=el[n].text;
document.getElementById("name").value=v;
};
function changeSel1(el){
var v1, n1;
n1=el.selectedIndex;
v1=el[n1].text;
document.getElementById("name1").value=v1;
};
function calculat() {
var name = 'name';
var name1 = 'name1';
document.querySelector('#my-id').value = name + ' ' + name1;
};
</script>
|
Kolko,
Цитата:
А вот эта часть вообще не понятна для чего
document.getElementById("name").value=v;
Ведь у тебя нет элемента с id = name Кароч, вот код:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select onchange="changeSel();">
<option value="2">Mersedes</option>
<option value='1'></option>
</select>
<select onchange="changeSel();">
<option value="1">S-Class</option>
<option value="2">Sprinter</option>
</select>
</br>
</br>
<input type="text" id="my-id" onclick="calculat()">
<script type='text/javascript'>
function changeSel() {
var selects = document.querySelectorAll('select');
var el1 = selects[0].selectedIndex;
var el2 = selects[1].selectedIndex;
document.querySelector('#my-id').value = selects[0].options[el1].text +
' ' +
selects[1].options[el2].text;
}
</script>
</body>
</html>
|
блин, это чертовски круто работает!!!:victory:
Safort, Rise, респект! |
| Часовой пояс GMT +3, время: 05:32. |