JQuery 复制表单选择菜单选择

发布于 2024-09-19 03:54:50 字数 1942 浏览 4 评论 0原文

我有一个带有 2 个下拉菜单的简单表单。我不知道该怎么做,就是有一个简单的 HTML 链接,可以将第一个选择菜单中的选择复制到第二个选择菜单。需要注意的是,我们没有在表单输入字段上设置“id”,因此我需要使用“name”字段来完成 JQuery 对象选择。这是表单的 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 种不同的方法,但仍然可以无法找出从第一个菜单中选择值并使用“名称”字段选择从第二个菜单中进行相同选择的正确方法。预先感谢您的帮助!

I have a simple form with 2 pull-down menus. What I can't figure out how to do is have a simple HTML link that will copy the selection from the first select menu to the second. The one caveat is that we don't set 'id' on our form input fields so I need the JQuery object selection to be done using the 'name' field instead. Here is the HTML for the form:

<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>

And here is the JQuery I'm currently using that doesn't work since it isn't able to select the value from the first menu correctly:

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

I've tried about 100 different ways and still can't figure out the right way to select the value from the first menu and make the same selection from the second menu using the 'name' field selection. Thanks in advance for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠北森屋 2024-09-26 03:54:50

您需要一个

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

menu2_selection 选择器上还有一个额外的 h 需要删除,您可以在这里测试。如果您打算复制任何样式输入,您可能已经在<代码>:输入选择器

关于演示的一个注释,就像您的代码一样,这会将第二个菜单复制到第一个菜单,而不是相反,因此请确保设置第二个下拉列表,然后单击“复制”。

You need a <select> element selector instead, like this:

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

Also there was an extra h on the menu2_selection selector that needs removing, you can test it here. If you meant to copy any style input, you may have been after the :input selector.

One note on the demo, like your code, this copies the second menu to the first, not the other way around, so make sure to set the second drop down, then click copy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文