Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена input на select (https://javascript.ru/forum/misc/53003-zamena-input-na-select.html)

dima_riabets 16.01.2015 19:43

Замена input на select
 
Есть поле, оно его изменить нельзя:
<input type="text" size="35" name="other1" style="width:100%" value="">


Идентификация поля только по name="other1".

И есть select:
Изменять его можно.
<select id="menu_select" onchange='bgfixed(true);' size="1"> 
<option value="0">bla bla bla</option> 
<option value="1">bla bla bla 1</option> 
</select>

Как сделать, что бы вместо input, был этот select, поле было сразу заменено?
Или значение select (val) присваивалось input, с помщью идентификатора "name", а input спрятать та и все.
Пробовал по id работает а по name - нет.. :blink:

рони 16.01.2015 19:46

Цитата:

Сообщение от dima_riabets
а по name - нет

может индекс забыли поставить?

dima_riabets 16.01.2015 19:53

Цитата:

Сообщение от рони (Сообщение 351747)
может индекс забыли поставить?

А можно как-то осуществить замену?

Еще есть такой же вопрос но по другому:
<input id="fr31" type="radio" name="f3" value="1"> <label for="fr31"><img ++ синий</label>
<br />
<input id="fr32" type="radio" name="f3" value="2"> <label for="fr32"><img ++ черный</label>
<br />


Имеется такое же поле input, как сделать что бы:
<img ++>

копировалось в input?

рони 16.01.2015 20:21

dima_riabets,
непонимаю вас

danik.js 16.01.2015 20:25

Дай селекту такое же имя - думаю это решит твою проблему.

dima_riabets 16.01.2015 20:31

Цитата:

Сообщение от рони
dima_riabets,
непонимаю вас

<input id="fr31" type="radio" name="f3" value="1"> <label for="fr31"><img src=""> синий</label>
<br />
<input id="fr32" type="radio" name="f3" value="2"> <label for="fr32"><img src=""> черный</label>
<br />


Нужно что бы при выборе label
копировался нужный
<img src="">

в input как текст

registrant 16.01.2015 20:56

Цитата:

Сообщение от dima_riabets
Нужно что бы при выборе label
копировался нужный
<img src="">

в input как текст

А куда копировать то? Можно в value, например:
<html>
<head>
</head>
<body>


<input id="fr31" type="radio" name="f3" value="1"><label for="fr31"><img src="foo"> синий</label>
<br />
<input id="fr32" type="radio" name="f3" value="2"><label for="fr32"><img src="bar"> черный</label>
<br />

<script>

inputs=document.getElementsByName("f3")
f=function(){this.value=this.nextSibling.firstChild.src}
;[].forEach.call(inputs, function(el){el.onchange=f})

</script>

</body>
</html>

только уберите пробелы между input и label

рони 16.01.2015 21:14

dima_riabets,
:-?
<!DOCTYPE HTML>

<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">

</head>

<body>
    <input type="text" size="35" name="other1" style="width:100%" value="">
    <input id="fr31" type="radio" name="f3" value="1">
    <label for="fr31"><img src=""> синий</label>
    <br />
    <input id="fr32" type="radio" name="f3" value="2">
    <label for="fr32"><img src=""> черный</label>
    <br />
    <script>
        var fr = document.querySelectorAll('[name="f3"]'),
            input = document.querySelector('[name="other1"]'),
            base = {
                1: '<img src="синий">',
                2: '<img src="чёрный">'
            };

        [].forEach.call(fr, function(self) {
            self.onchange = function() {
                this.checked && (input.value = base[this.value])
            }
        });
    </script>
</body>

</html>

registrant 16.01.2015 21:28

Цитата:

Сообщение от dima_riabets
Нужно что бы при выборе label
копировался нужный
<img src="">

в input как текст

Или, может быть это:
<html>
<head>
</head>
<body>


<input id="fr31" type="radio" name="f3" value="1"><label for="fr31"><img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif"> синий</label>
<br />
<input id="fr32" type="radio" name="f3" value="2"><label for="fr32"><img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif"> черный</label>
<br />

<script>

inputs=document.getElementsByName("f3")
f=function(){
  var src=this.nextSibling.firstChild.src
  var el =this.nextSibling
  this.outerHTML="<img src='"+src+"'>"
  el.outerHTML=""
}
;[].forEach.call(inputs, function(el){el.onchange=f})

</script>

</body>
</html>

имелось в виду.


Часовой пояс GMT +3, время: 15:30.