2017-11-09 12 views
-1

この質問があいまいであれば事前にお詫びします。私はPHPのアクセス許可をチェックしようとしていますが、falseに戻ってきた場合は、チェックボックスをKnockoutで無効にします(またはクラスを無効にします)。しかし、多くの運がない。私のコード。おかげノックアウトのチェックボックスに無効なクラスを追加する

ax.ko.UserProfileModel = function(data) { 
    this.display_name = data.display_name; 
    this.enabled = data.enabled; 
    this.first_name = data.first_name; 
    this.gender = data.gender; 
    this.sales_rep_code = data.sales_rep_code; 
    this.billable = data.billable; 
} 


//VM 
ax.ko.UserProfilesVM = function(data) { 
var self = this; 

self.userProfile = ko.observableArray([]); 
self.userProfiles = ko.observableArray([]); 
self.isLoading = ko.observable(false); 
self.viewCreateEdit = ko.observable(''); 
self.carouselSettings = ax.Carousel.defaults; 
self.canEditAccount = ko.observable(); 
self.isBillable = ko.observable(); 

self.populateUserProfiles = function(data) { 
self.userProfiles($.map(data,function(i) { return new 
ax.ko.UserProfileModel(i); })); 
}; 

self.populateUserProfile = function(data) { 
self.userProfile(new ax.ko.UserProfileModel(data)); 
}; 
}; 


<? if ($perms['user_profiles|edit_billable']===FALSE) { ?> 
     <div class="field"> 
     <label><?=l(273)?></label> 
     <div class="input"> 
      <input type="checkbox" name="billable" value="1" data-bind="checked: userProfile().billable, disable:isBillable();"> 
     </div> 
     </div> 
    </div> 

<? } ?> 
+2

あなたは、「有効」または「無効」を試してみましたバインディング? http://knockoutjs.com/documentation/enable-binding.html –

+0

私はそれを試してみるつもりですが、私はそれについて読んでいましたが、他の人々のコードを使って作業しているので、実装する方法を見ていました。ありがとう男 – erics15

+0

ありがとう@JasonSpake - 私は役に立たなかった。 :/ – erics15

答えて

2

は@Jasonにより示唆されるように、あなたのバインディングにhttp://knockoutjs.com/documentation/disable-binding.htmlを無効に追加することができ、よりのように、これを試してみてください。

MyVM = function(condition){ 
 
    that = this; 
 
    that.flag = ko.observable(true); 
 
    that.condition = ko.observable(condition); 
 
} 
 

 
ko.applyBindings(new MyVM(true));
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script> 
 

 

 
<div> 
 

 
<input type="checkbox" data-bind="checked: flag, disable: condition"/> 
 

 
</div>

関連する問題