使用jquery在表单更改事件中捕获隐藏字段

时间:2016-11-21 14:06:27

标签: jquery html

我有一个如下表格

<form:form id="depositDetailsFormTab" method="post" action="${depositDetailsFormContactMe}"  modelAttribute="DepositDetails">
<div class="panel-body">
    <div class="row">
    <span class="pull-right manfields"><span class="red-star">*</span>Mandatory Fields</span>
        <div class="col-sm-4 col-md-4">
            <label class="labelname">Amount In</label> <input
                class="form-control" id="amountin" type="text" name="amountIn">
        </div>
    </div>      
    <div class="row">
        <div class="col-sm-4 col-md-4">
            <label class="labelname">Category</label> 
            <a class="btn btn-default btn-select custom-drop-down"> 
                <input type="hidden" class="btn-select-input" id="" name="category" value=""> 
                <span class="btn-select-value">Select an Item</span> 
                <span class="btn-select-arrow glyphicon glyphicon-chevron-down"></span>
                    <ul class="category" id="category" style="display: none;">
                        <li>DHFL Promoter</li>
                        <li>Director</li>
                        <li>Relative of Director</li>
                        <li>Shareholder</li>
                        <li>Public</li>
                    </ul>
            </a>
        </div>          
    </div>
    <div class="formbtn">       
        <button class=" btn secondary-btn" type="button" id="btn_depositdetails_submit">Save &amp; Continue</button>
    </div>
</div>
</form:form>

在此表单中,我有一个隐藏字段,用于捕获所选列表项。设计师使用ul li而不是选择下拉列表。

在这里,我尝试使用jquery(如下面的

)捕获表单更改事件
$("#depositDetailsFormTab :input").change(function() {
   alert("changed");
});

当第一个输入框改变但是当我在下拉列表中更改列表项时没有发出警报时触发。实际上,当列表项更改时,我正在更新隐藏字段。

那么,如何在表单更改事件中包含隐藏字段?

提前致谢

2 个答案:

答案 0 :(得分:0)

我听说更改隐藏字段的值不会自动触发“onchange”事件。所以我建议尝试手动启动它。例如:

$("#hiddenFieldId").val("NewVal").change();

答案 1 :(得分:0)

我认为您需要在设置时调用.trigger(&#39;更改&#39;)(选择你的li后)