如何使用JavaScript \ JQuery使用select标签的选定选项的值设置隐藏输入标签的值?

时间:2015-03-13 11:30:16

标签: javascript jquery html javascript-events xhtml

我是 JavaScript JQuery 的新手,我遇到以下问题。

在JSP页面中,我有一些像这样的HTML代码:

<form id="treeForm" method="post" action="http://localhost:7001/web/guest/link?p_auth=2QCM0Vgs&p_p_id=KMCountryArea_WAR_KMPortlets&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-4&p_p_col_count=1&_KMCountryArea_WAR_KMPortlets_templateDir=template&_KMCountryArea_WAR_KMPortlets_theme=css_xhtml&_KMCountryArea_WAR_KMPortlets_dynamicAttributes=%7B%7D&_KMCountryArea_WAR_KMPortlets_id=treeForm&_KMCountryArea_WAR_KMPortlets_struts.portlet.action=%2FkmCountryArea%2FkmCountryArea%2FsaveEventAttach&_KMCountryArea_WAR_KMPortlets_struts.portlet.mode=view" name="treeForm">
    <input id="folderId" type="hidden" value="" name="idFolder">

    ...............................................................
    ...............................................................
    ...............................................................

    <select id="treeForm_yourFolder" name="yourFolder">
        <option value="-1">Selezionare una Folder</option>
        <option value="CAMEX">CAMEX</option>
        <option value="NORTH AMERICA">NORTH AMERICA</option>
        <option value="BRAZIL">BRAZIL</option>
        <option value="CHILE NEW ANDEAN">CHILE NEW ANDEAN</option>
        <option value="IBERIA">IBERIA</option>
        <option value="ITALY_EUROPE">ITALY_EUROPE</option>
    </select>

    ...............................................................
    ...............................................................
    ...............................................................
</s:form>

因此,正如您在前面的代码段中所看到的,用户可以从 标记所呈现的下拉菜单中选择一个值(由表示)

此外,在之前的代码中还有隐藏输入字段,其中 id =&#34; folderId&#34;

所以现在我需要做的是以下操作:当用户从 标记呈现的菜单中选择一个选项时,Javascript \ JQuery脚本设置隐藏输入标记的值(< strong> id =&#34; folderId&#34; ),其中包含所选选项的值。

我该怎么做?

TNX

4 个答案:

答案 0 :(得分:1)

试试这个

$("#folderId").val($("#treeForm_yourFolder :selected").val());

$("#treeForm_yourFolder").on("change",function(){
          $("#folderId").val($("#treeForm_yourFolder :selected").val());
});

答案 1 :(得分:1)

您需要侦听对选择的更改,并在更改时将更改值分配给隐藏元素:

$(function(){
    $('#treeForm_yourFolder').change(function(){
        var element = $(this);
        $('#folderId').val($(element).val());
    });
});

小提琴:http://jsfiddle.net/8tbtawut - 使用检查员(F12)查看对隐藏输入的更改。

答案 2 :(得分:1)

您无需查询事件功能中的选择列表。您只需使用this关键字来引用选择列表。

$("#treeForm_yourFolder").on("change",function(){
              $("#folderId").val($(this).val());
    });

答案 3 :(得分:0)

帮助&#34;改变&#34; javascript事件。 这对你有帮助。

follow this jsfiddle