2014-11-04 12 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