2010-09-14 103 views
1

我有一个简单的形式与2个下拉菜单。我无法弄清楚如何做的是有一个简单的HTML链接,将选择从第一个选择菜单复制到第二个。有一点需要注意的是,我们不在表单输入字段中设置'id',所以我需要使用'name'字段来完成JQuery对象选择。下面是窗体的HTML:JQuery重复表单选择菜单选择

<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种不同的方式,仍然无法找到正确的方法从第一个菜单中选择值,并使用'name'字段选择从第二个菜单中进行相同的选择。在此先感谢您的帮助!

回答

2

你需要一个<select>element selector代替,就像这样:

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

也有在menu2_selection选择需要删除,you can test it here额外h。如果您打算复制任何样式输入,您可能已经在the :input selector之后。

一个音符上演示,喜欢你的代码,此份第二菜单第一,而不是其他方式,所以一定要设置第二个下拉,然后单击复制。

+0

工作就像一个魅力。感谢您捕捉这些情侣问题。 – 2010-09-14 17:27:20