找到& lt; span>值在ko.applyBindings之后

Find <span> value after ko.applyBindings

本文关键字:applyBindings ko 之后 值在 span lt 找到      更新时间:2023-09-26

我使用knockout.js从webapi获得一些值,然后结果(保存在span中)我试图在其他地方使用(表行输入)。结果如下所示:

<h3 data-bind="foreach: book">
    <span data-bind="text: Hotel" class="label label-info"/>
    <span data-bind="text: Номер" class="label label-info"/>
    <span class="label label-info" data-bind=" text: Фамилия"/>
    <span class="label label-info ad" data-bind=" text: Колчел"/>
    <span class="label label-info ch" data-bind=" text: Дети"/>
</h3>

,这是敲除代码:

    <script>
            function BookViewModel(baseUri) {
                var self = this;
                self.Номер = ko.observable("");
                self.Колчел = ko.observable("");
                self.Дети = ko.observable("");
                self.Фамилия = ko.observable("");
                self.Hotel = ko.observable("");
                var book = {
                    Номер: self.Номер,
                    Колчел: self.Колчел,
                    Дети: self.Дети,
                    Фамилия: self.Фамилия,
                    Hotel: self.Hotel
                };
                self.book = ko.observable();
                self.books = ko.observableArray();
                $.getJSON(baseUri, self.book);
            }
            $(document).ready(function () {
                var url = location.href.split("/")
                var baseUri;
                if (url[4].toString = 'x') {
                    baseUri = '/api/xTourist/' + url[5];
                }
                else if (url[4].toString = 'y') {
                    baseUri = '/api/yTourist/' + url[5];
                }
                ko.applyBindings(new BookViewModel(baseUri));
    //This is how I'm trying to read result and use this result in input field in the other table.
 var ad = $("span.ad").val();
            var ch = $("span.ch").val();
                $("#gvOrders tr input.pax_ad").each(function () {
                    $(this).val(ad);
                });
                $("#gvOrders tr input.pax_ch").each(function () {
                    $(this).val();
                });
            });
        </script>

不幸的是,这个变量没有定义。我真的不明白为什么在我们已经应用绑定后不能读取值

knockout文档非常好。我建议你从这里开始,以帮助你更好地理解淘汰赛是如何运作的。这会节省你的时间和挫败感。

至于$。getJSON调用,文档中有很多信息和示例。