我有一个文本框和一个按钮,我想在单击按钮时将文本框中的值发送到函数,但似乎无法解决。
Reg:<input type="text" placeholder="Enter Reg" data-bind="text: search" />
<button class="btn btn-danger" data-bind="click: function () { GJobs(search) }" >Get Jobs</button>
在视图模型中的功能
self.GJobs = function (search) {
GetJobs(search)
}
ajax call
function GetJobs(search) {
$.ajax({
type: "GET",
url: 'api/mechanicphone',
data: { reg: search},
dataType: 'json',
contentType: 'application/json',
success: function (data) {
self.Jobs(data);
},
error: function (data) {
$('#MechMobile').html('<h3>Error in retrieval</h3>');
}
});
}
当我调试时,传递的reg在get上变为null
答案 0 :(得分:2)
您的代码中应该更改一些内容。
首先,为了从输入字段返回值,应该使用value
绑定而不是`text:
<input type="text" placeholder="Enter Reg" data-bind="value: search" />
然后理想情况下,您的点击处理程序应该在视图模型中调用函数,然后可以获取可观察变量search
的值。总的来说,您可以像这样更新HTML代码:
Reg:<input type="text" placeholder="Enter Reg" data-bind="value: search" />
<button class="btn btn-danger" data-bind="click: GJobs" >Get Jobs</button>
您的视图模型如下:
self.GJobs = function () {
GetJobs(self.search());
}
self.search = ko.observable('');
function GetJobs(searchValue){
// Call web service
}