【问题标题】:knockout send value from input to function敲除将值从输入发送到函数
【发布时间】:2015-04-07 12:21:48
【问题描述】:

我有一个文本框和一个按钮,我想在单击按钮时将值从文本框发送到函数似乎无法弄清楚。

      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 在获取时为空

【问题讨论】:

    标签: javascript html asp.net-mvc-4 knockout.js asp.net-web-api


    【解决方案1】:

    您的代码中有一些内容需要更改。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      相关资源
      最近更新 更多