使用knockout js获取图像的Button值

时间:2017-04-27 17:13:09

标签: knockout.js

我的页面中有Order和OrderDetails。对于每个OrderId,我都有显示OrderDetails的表,该表显示在表中。在OrderDetails中,我必须进行分页。 我将Orderdetails的限制显示为每个OrderId的5条记录。我必须按下"上一页"和"下一步"纽扣。当我点击"下一步"我应该显示特定OrderId的下5条记录。

问题是按钮的样式是作为图像显示。现在,当我单击按钮时,我需要将OrderId传递给调用函数。如果我设置了Button的值,那么我会看到上一个或下一个按钮图像沿着杂乱的值。

循环有2个。首先For循环显示Order。 Second For循环以显示每个订单的OrderDetails。我需要在单击的按钮上获取相应的OrderId如果单击OrderId的下一个按钮 - 1,那么我需要使用Knockout js在下一个事件中获取OrderId

请使用knockout js告诉我任何可能的方法

订单ID 1
    OrderDate金额     10/12/2016 100     10/12/2016 100

Previous(this is a image)   Next (this is a image)

订单ID 2
    OrderDate金额     10/12/2016 100     10/12/2016 100

Previous    Next



   <ul class="pager">
       <li>
         <span>
               <input type="button" class="btn dsg-back-btn" value="" title="Previous Page" data-bind="event: { click: $root.btnPrevPage }" />
         </span>
       </li>
      <li>
         <span>
            <input type="button" class="btn btn-sm dsg-next-btn" value="" title="Next Page" data-bind="event: { click: $root.btnNextPage }" />
         </span>
      </li>
    </ul>

1 个答案:

答案 0 :(得分:0)

我不知道你的模型结构如何,但如果orderId是你的orderDetail模型的一部分,那么在你的点击功能中你将无需通过就可以访问它。

self.btnPrevPage  = function (item){
   // here you get item that is clicked. 
  console.log(item)
}
self.btnNextPage = function (item){
   // here you get item that is clicked
  console.log(item)
}

如果不存在,则可以选择以下任一解决方案来传递参数

解决方案1:您可以将Click函数包装在JS函数中,如:

data-bind="click: function(){ $root.btnPrevPage(yourOrderId)}"
data-bind="click: function(){ $root.btnPrevPage(yourOrderId)}"

解决方案2 :您可以使用绑定上下文。

data-bind="click: $root.btnNextPage.bind(yourOrderId)"
data-bind="click: $root.btnPrevPage.bind(yourOrderId)}"