1

我正在使用 tokenInput jquery 插件进行自动完成。这个脚本工作正常

<script type="text/javascript">
        $(document).ready(function () {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/WebService1.asmx/HelloWorld7",
                data: "{}",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                success: function (data) { $("#<%=demo.ClientID %>").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php");
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }
            });
        });
    </script>

但是当我更换线路时

$("#<%=demo.ClientID %>").tokenInput("http://shell.loopj.com/tokeninput/tvshows.php");

$("#<%=demo.ClientID %>").tokenInput(data.d);

它向我显示自动完成,但在按钮单击事件中它显示 demo.Text 为空字符串。我检查了 firebug 中的响应,响应是

{"d":[{"__type":"TestForMySite.fb","Id":1,"name":"ALABAMA"},{"__type":"TestForMySite.fb","Id":2,"name":"ALASKA"}]}
4

1 回答 1

1

根据文档,您的 JSON 数组格式不正确。它应该是:

[
    {"id":"856","name":"House"},
    {"id":"1035","name":"Desperate Housewives"},
    ...
]

你有Id它应该在的地方id

于 2011-12-27T15:02:51.337 回答