敲除将值从输入发送到函数

knockout send value from input to function

本文关键字:函数 输入      更新时间:2023-09-26

我有一个文本框和一个按钮,我想在点击按钮时将值从文本框发送到一个函数。

      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调用

   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

您的代码中应该更改一些内容。

首先,为了从输入字段返回值,应该使用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
}