Обновить поле ввода при изменении значения выбора? - PullRequest
0 голосов
/ 24 февраля 2011

Обновить inuput поле события onchange?

$A = array(A,B,C,D);

<select name="A" id="A" onchange="change_val()">
<?php 
foreach($A as $key=>$val){?>
    <option value="<?php echo $key?><?php echo $val?"></option>
<?php }?>
 </select>
<input name="seleted_value" id="seleted_value" value="Hello first time" >

Я хочу написать метод onchange change_val(), который выполняет эту задачу:

, если выбрать A (по умолчанию), показать значение «Hello first time» в поле ввода seleted_value

иначе в поле ввода было выбрано значение seleted_value И Disable this input field for read only.

Кто-нибудь может мне помочь, как это сделать?

  if selected= A =>show 'Hello first time'
  if selected= B =>show 'B'
  if selected= C =>show 'C'
  if selected= D =>show 'D'

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Sure:

function change_val() { 
   var sel = document.getElementById('A'),
       lbl = document.getElementById('selected_value');

   lbl.disabled = (sel.selectedIndex !== 0);

   if(sel.selectedIndex === 0) {
      lbl.value = 'Hello first time';
   } else {
      lbl.value = sel.options[sel.selectedIndex].value;
   }
}

jsFiddle пример

2 голосов
/ 24 февраля 2011

jQuery

Я предлагаю использовать jQuery для этого.Тогда ваш код будет выглядеть примерно так:

$(function()
{
    $('select#A').change(function()
    {
        var this_value = $(this).val();

        if(this_value == 0)
        {
            //you made a typo (seleted), so i did this too on purpose
            $('input#seleted_value').val('Hello first time');
        }
        else
        {
            $('input#seleted_value').val(this_value);
            $('input#seleted_value').attr('disabled', 'disabled');
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...