bind text of same model inside a foreach loop but that text is not a part of that array.
function SmsViewModel(data,id) {
var self = this;
// Editable data
self.Sms = ko.observableArray(JSON.parse(data));
self.Num = ko.observable('Send SMS');
self.removeNumber = function(item){
}
self.myPostProcessingLogic = function(elements) {
if ($(id).children().length === ko.toJS(self.Sms).length) {
// Only now execute handler
jq();
}
}
}
when i display data of sms it works fine but i am not able to display sel.Num in same foreach
<div class="modalbox_content" data-bind="foreach: {data: Sms,afterRender: myPostProcessingLogic}" id="KnockOutSmsData">
<!-- ko if: FromAddress === '+18038004697' && TypeOfMassage === 'I' -->
<div class="message_container" >
<div class="message_user_photo"><img src="images/user_pic.png" width="40" height="40"/></div>
<div class="message_cell_number"><span data-bind="text: FromAddress"></span></div>
<div class="recieved_message_container">
<div class="recieved_message_arrow"></div>
<div class="recieved_message_box">
<p><span data-bind="text: Body"></span></p>
<div class="forwd_message"><a href="#"><img src="images/frwd_msg.png"/></a></div>
<span data-bind="text: MsgDateTime"></span></div>
</div>
</div>
<!-- /ko -->
<!-- close message container -->
<!-- ko if: ToAddress === '+18038004697' && TypeOfMassage === 'S' -->
<div class="message_container" >
<div class="sent_message_user_photo"><img src="images/user_pic.png" width="40" height="40"/></div>
<div class="sent_message_cell_number"><span data-bind="text: ToAddress"></div>
<div class="sent_message_container">
<div class="sent_message_arrow"></div>
<div class="sent_message_box">
<p><span data-bind="text: Body"></span></p>
<span data-bind="text: MsgDateTime"></span></div>
</div>
</div>
<!-- /ko -->
<!-- close message container -->
</div>
i just want to compare
<!-- ko if: FromAddress === self.Num && TypeOfMassage === 'I' -->
this self.Num is the part of
self.Num = ko.observable('Send SMS');
and FromAddress is the part of
self.Sms = ko.observableArray(JSON.parse(data));
thanx in advance
I think you are looking for the $parent
binding context variable with that you can access the "parent" object inside a foreach
:
<!-- ko if: FromAddress === $parent.Num() && TypeOfMassage === 'I' -->
Note that you need write $parent.Num()
(eg with ()
) because Num
is a ko.observable
Here is a demo fiddle which is based roughly on your code.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.