0

在我的水疗中心,页面加载事件 ul 成功显示数据库中的一些值列表后。下面是代码

<ul data-role="listview" data-divider-theme="b" data-inset="true" data-bind="foreach: Cs">
    <li data-theme="c">
        <a href="#page1" data-transition="slide" data-bind="attr: { title: CID }">
            <span data-bind="text: FName + ' ' + LName +')'"></span>
        </a>
    </li>
</ul>

function SSSmodel() {
    var self = this;
    self.Cs = $.parseJSON(localStorage["CsTab"]);
    self.SearchCs = function () {
        alert("Onchange event is fired");
    }
 };

在 select 中触发 Onchange 事件时,它在上述函数中调用“SearchCs”并成功显示警报。但我不知道如何在该函数中将新的值列表绑定到 ul?下面是选择选项代码。它没有显示任何错误。

<select id="ddlClassify" name="" data-theme="c" data-bind="event: {change: SearchCs}, options: ClassifiyData, optionsValue: 'ClassifyID', optionsText: function (i) { return i.Classify + ':' + i.Position }, optionsCaption: 'All'">

在页面加载事件之后,将一些数据绑定到 UL 并成功在网页中显示该数据。但是我不知道当 Select 选项的 Onchange 事件被触发时,如何将新的值列表绑定到 UL?

请朋友们指导一下。

4

3 回答 3

1

尝试使 Contacts 数组成为可观察的,然后像这样更新它:

self.Contacts($.parseJSON(localStorage["ContactsTable"])); 
于 2013-08-13T10:54:16.983 回答
0

对于这种情况,进行了 Jquery Ajax 调用,然后只有它会检索数据并绑定到 UL。

  function SSSmodel() {
var self = this;
self.Cs = ko.observable($.parseJSON(localStorage["CsTab"]));

self.SearchCs = function () {

    $.ajax({
        url: 'http://localhost:12345/api/Ct',
        type: 'GET',
        dataType: 'jsonp',
        data: { ID: id },
        context: this,
        success: function (result) {
            debugger;
            self.Cs(result);
        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {

            alert(errorThrown);
        }
    });

}   };
于 2013-08-13T10:47:41.700 回答
0

尝试如下所示:

self.Contacts = ko.observable($.parseJSON(localStorage["ContactsTable"]));
于 2013-09-06T10:11:41.560 回答