2014-11-04 40 views
0

没有与传递参数,当我按下按钮,没有什么问题,也有在控制台中没有错误Knockout.js - 传递参数

<tbody data-bind="foreach: hotels"> 
<tr> 
    <td data-bind="text: Id"></td> 
    <td data-bind="text: Name"></td> 
    <td data-bind="text: Address"></td>      
    <td> 
     <button data-bind="click: $root.eksportuj" > @Html.Text("Eksportuj")/button> 
    </td> 
</tr> 

self.eksportuj = function (obj, event) { 
    $.ajax({ 
     ulr: "@Url.Action("eksport", "Controller")", 
     type: 'POST', 
     data: {'Id' : obj.Id}, 
     success: function (result) 
      { 
       alert("True"); 
      }, 
     error: function() 
      { 
       alert("Error"); 
      } 
    }); 
} 
+0

是'obj.Id'可观察到的? – haim770 2014-11-04 10:16:50

回答

0

也许问题出在非封闭button标记或tbody标记

<button data-bind="click: $root.eksportuj" > @Html.Text("Eksportuj") </button>

笑着JSFiddle DEMO按预期工作

的jsfiddle DEMO代码:

var viewModel = new function() 
{ 
    var self = this; 
    self.hotels = ko.observableArray([{ 
     Id : "1", 
     Name : "N1", 
     Address : "A1" 
    },{ 
     Id : "2", 
     Name : "N2", 
     Address : "A2" 
    }]); 

    self.eksportuj = function (obj, event) { 
     alert(obj.Id) 
    } 
} 

ko.applyBindings(viewModel) 
+0

谢谢,我禁用了我的浏览器警报))) – user3671757 2014-11-04 12:55:16

+0

@ user3671757将'alert'改为'console.log' – Ilya 2014-11-04 14:26:17