Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 使用ajax和HDIV的级联下拉列表的问题_Spring Mvc_Hdiv - Fatal编程技术网

Spring mvc 使用ajax和HDIV的级联下拉列表的问题

Spring mvc 使用ajax和HDIV的级联下拉列表的问题,spring-mvc,hdiv,Spring Mvc,Hdiv,我 集成HDIV和Spring MVC。现在我有了一个表单,上面有三个下拉列表:契约、任务顺序和子任务。合同的选择变更将通过ajax更新taskorder下拉列表的内容,然后任务订单的选择变更将通过ajax更新下拉列表子任务的内容。表单如下所示: <c:url var="url" value="/admin/user/newstafftask" > <c:param name="_MODIFY_HDIV_STATE_" value="${taskOrder.id}" /&

我 集成HDIV和Spring MVC。现在我有了一个表单,上面有三个下拉列表:契约、任务顺序和子任务。合同的选择变更将通过ajax更新taskorder下拉列表的内容,然后任务订单的选择变更将通过ajax更新下拉列表子任务的内容。表单如下所示:

 <c:url var="url" value="/admin/user/newstafftask" > 
 <c:param name="_MODIFY_HDIV_STATE_" value="${taskOrder.id}" />
</c:url>
<form:form action="${url}" commandName="newRequestStaffTasks">
    <form:hidden path="subId"  />
       <table >
            <tr>     
                <td> <label>Contract </label></td>
                <td>
                    <form:select path="newRequestStaffContract.id">
                      <option></option>
                      <form:options items="${contractList}" itemValue="id" itemLabel="contract.contractNbr" /> 
                    </form:select>
                </td>
        </tr>
        <tr>     
                <td> <label>Task Order </label></td>
                <td>
                    <form:select path="taskOrder.id">
                    </form:select>
                </td>
        </tr>
         <tr>     
                <td>  <label>SubTask Code </label></td>
                <td>
                    <form:select path="subtask.subTaskId">
                       <option></option>
                    </form:select>
                </td>
        </tr>
     </table>
</form:form>

看看这个。如果可以,请提供有关如何生成AJAX url的更多信息。我已经从HDIV验证中排除了Ajax请求。所以我对这件作品没有问题。但是Ajax请求将更新表单newRequestStaffTasks上下拉列表的值。它导致提交表单newRequestStaffTasks时出现问题。在这里发出Ajax请求后,我是否必须更新表单操作URL?我有一个类似的问题(或者确切的问题)。更改一个下拉列表将导致另一个下拉列表使用不同的值进行更新。一旦发生这种情况,自动递增的“机密”值就无法正确映射回真实值。我发现唯一的解决办法是在配置中关闭机密性。我想知道正确的处理方法。你能发布你的hdiv配置文件吗?看看这个。如果可以,请提供有关如何生成AJAX url的更多信息。我已经从HDIV验证中排除了Ajax请求。所以我对这件作品没有问题。但是Ajax请求将更新表单newRequestStaffTasks上下拉列表的值。它导致提交表单newRequestStaffTasks时出现问题。在这里发出Ajax请求后,我是否必须更新表单操作URL?我有一个类似的问题(或者确切的问题)。更改一个下拉列表将导致另一个下拉列表使用不同的值进行更新。一旦发生这种情况,自动递增的“机密”值就无法正确映射回真实值。我发现唯一的解决办法是在配置中关闭机密性。我想知道处理这个问题的正确方法。你能发布你的hdiv配置文件吗?
    $(".modal-body").on("change", "#newRequestStaffContract\\.id", function()  {
            getTaskOrderByContract($(this));
        });
        function getTaskOrderByContract(o) {
            contractId  = o.val();
            if (contractId)  {
                $.get("../../ajax/getTaskOrderByContract",  {
                    contractId : contractId
                }
                , function(data)  {
                    var options = '<option value=""></option>';
                    for (var i = 0; i < data.length; i++) {
                        options += '<option value="' + data[i].id + '">' +data[i].taskNum+ '</option>';
                    }
                    $('#taskOrder\\.id').html(options);
                });
            };
        };