Javascript 如果值大于,则删除js隐藏按钮

Javascript 如果值大于,则删除js隐藏按钮,javascript,knockout.js,Javascript,Knockout.js,我在页面加载后定义一个变量(存储数字json数据) 我可以成功地将此变量放入: <span data-bind="text: extQty"></span> 当变量更改时,它会使用适当的变量更新跨度(这很好) 但它不会在我的enable中更新我的变量: <p class="pull-right"><a class="btn btn-primary" data-bind="click: $root.add, enable: pagedList().l

我在页面加载后定义一个变量(存储数字json数据)

我可以成功地将此变量放入:

<span data-bind="text: extQty"></span>

当变量更改时,它会使用适当的变量更新跨度(这很好)

但它不会在我的enable中更新我的变量:

<p class="pull-right"><a class="btn btn-primary" data-bind="click: $root.add, enable: pagedList().length < extQty" href="#" title="edit"><i class="icon-plus"></i> Add Extension</a></p>


我需要根据显示给“extQty”的值有效地禁用enable。现在我将5发送到extQty,看起来该变量只在“文本”数据绑定中更新,而不是在“启用”数据绑定中更新。

取消启用绑定不使用锚定标记

所以你有两个解决方案

解决方案1

<a href='#' title="edit" class="btn btn-primary" data-bind='click: function() { 
 if(pagedList().length < extQty())
 {
    //call the desired method from here
 }' >

解决方案2

此按钮仅在您的条件为成功且已单击绑定时显示

<a class="btn btn-primary" data-bind="click: $root.add, visible: pagedList().length < extQty()" href="#" title="edit">
<a class="btn btn-primary" data-bind="visible: pagedList().length >= extQty()" href="#" title="edit">

此按钮仅在负面条件为成功且没有单击绑定时显示

<a class="btn btn-primary" data-bind="click: $root.add, visible: pagedList().length < extQty()" href="#" title="edit">
<a class="btn btn-primary" data-bind="visible: pagedList().length >= extQty()" href="#" title="edit">

尝试使用

<p class="pull-right">
    <a class="btn btn-primary" data-bind="style: { display: (pagedList().length < extQty) ? 'block' : 'none' }" 
        href="#" title="edit">
        <i class="icon-plus"></i>Add Extension
    </a>
</p>


或者如@NaveenKumar所指出的。。您可以使用visible属性…

@generalhenry这不是同一个问题