【发布时间】:2013-06-06 08:01:23
【问题描述】:
我有一个表格,我正在填写一个 ajax 请求。大部分情况都很好,但我似乎无法将下拉列表的值分配给隐藏变量。
这个想法是这样的:您选择一个之前完成的作业,提交一个 ajax 请求,然后我从该请求中填写表单的所有值。
您还可以选择移除(删除)此分配。为此,我需要获取 id 的值(它在 ajax 请求中返回)并将其填充到隐藏字段中。这个隐藏的字段是不同的形式。当我尝试提交此表单时,该字段未填写。
示例代码:
function loadQuery() {
var assign = $("#existingAssignment").val(); // Get the value of the select box so we can build the next page
$.ajax({
type: 'get',
url: 'http://127.0.0.1/WMT/model/getCandidate.cfc',
data: {
method: 'getExistingAssignPosInfo',
tourid: assign
},
dataType: 'json',
async: false,
success: function (result) {
$('#removeAssignment').show(); // This is the name of the hidden field. We Show this when we get the JSON
$('#removeAssignmentID').val(result.DATA[0][0]);
}
});
}
HTML
<form class="form-horizontal" action="">
<div class="pull-left">
<input type="submit" id="removeAssignment" class="btn btn-danger" value="Remove Assignment">
<input type="hidden" name="TheAssignment" id="removeAssignmentID" value="">
</div>
</form>
这是应该提交 ID 的表单,所以我会知道要删除什么。但是,当我提交表单时,没有设置任何值。
请注意:上面的 JS 代码可能缺少一个 } 或两个,因为它只是一个示例。
【问题讨论】:
-
当然隐藏的输入没有值,你从来没有设置过。这样做非常简单:
$('#removeAssignmentID').val(PosVar); -
在 jquery 中,将选择值分配给任何其他元素就像
$(document).on("change", "#selectID", function(e) { $("#someInput").val($(this).val()) })一样简单,但您可以将其设置为始终运行,以便在发布时准备好 -
该死的星期一..对不起,我输入了错误的代码。正在编辑...
-
@weggie 另外,代码格式非常重要;如果您的代码不可读,那么人们就不太可能想要回答您的问题。如果你不想手动格式化,可以使用jsbeautifier.org为你处理。
-
感谢@AnthonyGrist 已修复,并已添加书签。