JQuery для дублирования формы Выберите пункт меню - PullRequest
1 голос
/ 14 сентября 2010

У меня есть простая форма с 2 раскрывающимися меню.Что я не могу понять, как это сделать, так это иметь простую HTML-ссылку, которая скопирует выбор из первого меню выбора во второе.Единственное предостережение в том, что мы не устанавливаем id в полях ввода формы, поэтому мне нужно, чтобы выбор объекта JQuery выполнялся с использованием поля name.Вот HTML-код для формы:

<form action="/form/update" name="update-form" method="POST"> 

<select name="menu1_selection"> 
<option value="">-</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
</select>

<select name="menu2_selection"> 
<option value="">-</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
<option value="10">10</option> 
<option value="11">11</option> 
<option value="12">12</option> 
</select>

<a href="#" onclick="return false;" class="copyMenu1">copy</a>

</form>

А вот используемый мной JQuery не работает, поскольку он не может правильно выбрать значение из первого меню:

<script type="text/javascript"> 
  $(document).ready(function() {  
    $("a.copyMenu1").click(function(){
        $("input[name='menu1_selection']").val($("input[name='hmenu2_selection']").val());
    });
  });
</script>

Я пробовал около 100 различных способов и до сих пор не могу понять, как правильно выбрать значение из первого меню и сделать такой же выбор из второго меню, используя выбор поля «имя».Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 14 сентября 2010

Вам нужен <select> селектор элемента вместо этого, например:

$(function() {  
  $("a.copyMenu1").click(function(){
    $("select[name='menu1_selection']").val($("select[name='menu2_selection']").val());
  });
});

Также был добавлен h в menu2_selection селектор, который нужно удалить, , вы можете проверить его здесь . Если вы намеревались скопировать любой ввод в стиле , возможно, вы были после селектор :input .

Одна заметка на демо, как и ваш код, копирует второе меню в первое , а не наоборот, поэтому обязательно установите второе раскрывающееся меню, затем нажмите «Копировать».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...