1
我想提交一个使用Knockout JS的表单,该数据作为json传递。我在这里遇到问题。以下是我的KO模型。Select语句中使用'选项'在淘汰赛js中的选择值
var permissionRequestModel = {
coNumber: '1000416',
employName: 'John Williams',
fromDate: ko.observable(''),
toDate: ko.observable(''),
checkFullDay: ko.observable(false),
fromTimeHH: ko.observable(''),
fromTimeMM: ko.observable(''),
toTimeHH: ko.observable(''),
toTimeMM: ko.observable(''),
permissionTypeOne: ko.observable(''),
permissionTypeTwo: ko.observable(''),
approverList: ko.observableArray([]),
reasonLeave: ko.observable('')
};
在此approverList
现在正在被从检索JSON对象,其作为populted截取的数组填充如下
$(function() {
$.getJSON("http://ec2-107-20-7-114.compute-1.amazonaws.com/adco/api/Request/permission?appid=1&opertype=get_approver_list&employeeNo=1000416", function (data) { permissionRequestModel.approverList(data.Approvers); })
});
的retrived data.Approvers将是以下形式:
"Approvers":
[{"ID":"DH130618",
"Display_Name":"Jason Roberts"}]
我需要下拉列表的文本是'Display_Name',值是'ID',所以我用下面的标记来做到这一点:
<select name="approverList" id="approverList" data-native-menu="true" class="required" data-bind="options: approverList, optionsCaption: 'Select Your Approver', optionsText: 'Display_Name', optionsValue:'ID'">
</select>
到目前为止它的罚款,但现在当我使用下面的代码提交表单,该approverList我们作为一个对象,而不是选择的值(即ID)被传递:
permissionRequestModel.requestPermission = function() {
if ($("#permissionRequestForm").valid()) {
$.ajax({
url: "http://ec2-107-20-7-114.compute-1.amazonaws.com/adco/api/Request/permission?appid=1&opertype=requestor&employeeNo=1000416",
type: "POST",
data: ko.toJSON(permissionRequestModel),
processData:false,
contentType: "application/json",
dataType:"json",
success: function (result) {
alert("Success");
},
error: function (result) {
alert(result.responseText);
}
});
}
else {
}
};
有谁知道这是为什么发生?我如何发送该值(ID)?
你想传递的值,例如“DH130618”?现在你在做什么ko.toJSON(permissionRequestModel)? – DevelopmentIsMyPassion
是的,这就是我想要通过。现在approverList正在作为一个对象被传递,我认为这是一个空值。 –
你想将整个视图模型传递给json吗?即使我是新的淘汰赛,但我知道其他方式发送数据到JSON。 – DevelopmentIsMyPassion