2015-12-08 29 views
0

我有一个工资单按钮,这将只显示如果发票在大于付款,但由于某种原因,它只适用于当发票等于支付,但如果有付款部分付款,即付款按钮不起作用。 下面是代码正确的价值没有显示与淘汰赛js数据绑定

<tbody data-bind="foreach: invoicedatasintable"> 
       <tr> 
        <td class="text-right"><span data-bind="text: $data.invoiced_total"></span></td> 
        <td class="text-right"><span data-bind="text: $data.paid_total "></span></td> 
        <td class="text-center"><span data-bind="text: $data.Abbreviation"></span></td> 
        <td><a href="#" data-bind="click: $root.getSelectedInvoice"><span data-bind="text: $data.rf_reference"></span></a></td> 
        <!-- <td><span data-bind="text: $data.rf_reference"></span></td> --> 
        <td><span data-bind="text: $data.type_txt"></span></td> 
        <td><span data-bind="text: $data.status_description"></span></td> 
        <td class="text-center"> 
         <a href="#" data-bind="if: $data.invoiced_total() > $data.paid_total(), click: $root.getRepaymentInvoice"><?php echo lang("invoice_table_pay1"); ?></a> 
         <span data-bind="ifnot: $data.invoiced_total() > $data.paid_total()"><?php echo lang("invoice_table_pay1"); ?></span> 
        </td> 
       </tr> 
      </tbody> 

这里是一个picture这将告诉你我的意思是,部分支付应该能够支付为好。

+0

两个条件会显示“支付”我看到的唯一的区别是一个是链接,另一个是span元素......从截图中显示的是正确的...... ?? –

+0

@ Sam.C yea !,所以跨度不会允许用户支付,但如果用户已部分支付,他们将获得链接到支付 –

+0

啊!您可以在帖子最后一个之前包含“​​”的绑定...这似乎适用于您(显示完全付费,开放,部分付款的那个) –

回答

1

更可能你比较两个变量是字符串值

“212.10”>“60.60”是假的,但212.10> 60.60是真的......所以这可能会解决您的问题(转换前相比浮动)

<td class="text-center"> 
         <a href="#" data-bind="if: parseFloat($data.invoiced_total()) > parseFloat($data.paid_total()), click: $root.getRepaymentInvoice"><?php echo lang("invoice_table_pay1"); ?></a> 
         <span data-bind="ifnot: parseFloat($data.invoiced_total()) > parseFloat($data.paid_total())"><?php echo lang("invoice_table_pay1"); ?></span> 
        </td> 
0

我会建议使用一个按钮来代替,为意图更加清晰,如启用/禁用/造型吧:

<tbody data-bind="foreach: invoicedatasintable"> 
       <tr> 
        <td class="text-right"><span data-bind="text: $data.invoiced_total"></span></td> 
        <td class="text-right"><span data-bind="text: $data.paid_total "></span></td> 
        <td class="text-center"><span data-bind="text: $data.Abbreviation"></span></td> 
        <td><a href="#" data-bind="click: $root.getSelectedInvoice"><span data-bind="text: $data.rf_reference"></span></a></td> 
        <!-- <td><span data-bind="text: $data.rf_reference"></span></td> --> 
        <td><span data-bind="text: $data.type_txt"></span></td> 
        <td><span data-bind="text: $data.status_description"></span></td> 
        <td class="text-center"> 
         <button data-bind="enable: $data.invoiced_total() > $data.paid_total(), click: $root.getRepaymentInvoice">pay</button> 
        </td> 
       </tr> 
      </tbody> 
+0

是的,但现在按钮显示在所有的地方,我想让人们知道,他们不能单击按钮或付费链接,当它的全额付款,还为什么有2个按钮 –

+0

@MasnadNehith这是'启用'绑定进来。按钮被禁用使用相同的if/ifnot检查你以前使用。 – dfperry

+0

我想说一个启用/禁用按钮比链接/文本更好的UI,并让用户知道他们的选择,以及 – dfperry