Я использую код автозаполнения jQuery в javascript на странице aspx. Код отлично работает, когда данные объявлены в самом скрипте, но когда я передаю переменную из кода программной части в клиентский скрипт, она не работает.
<script type="text/javascript">
$(function () {
// var projects = [{value: "jquery", label: "jQuery", desc: "the write less, do more, JavaScript library", icon: "https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v1/yP/r/FdhqUFlRalU.jpg" },
// {
// value: "jquery-ui",
// label: "jQuery UI",
// desc: "the official user interface library for jQuery",
// icon: "https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v1/yP/r/FdhqUFlRalU.jpg"
// },
// {
// value: "sizzlejs",
// label: "Sizzle JS",
// desc: "a pure-JavaScript CSS selector engine",
// icon: "https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v1/yP/r/FdhqUFlRalU.jpg"
// }
// ];
//
// alert(JSVar + JSVar1);
$("#Text1").autocomplete({
minLength: 0,
source: JSVar,
focus: function (event, ui) {
$("#Text1").val(ui.item.label);
return false;
}
})
.data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a><img src='" + item.icon + "' width='32' height='32' /> " + item.label + "</a>")
.appendTo(ul);
};
$("#Text2").autocomplete({
minLength: 0,
source: JSVar1,
focus: function (event, ui) {
$("#Text2").val(ui.item.label);
return false;
}
})
.data("autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a><img src='" + item.icon + "' width='32' height='32' /> " + item.label + "</a>")
.appendTo(ul);
};
});
В выделенном коде мужчины и женщины являются моими основными данными.
string str1 = "<script type=\"text/javascript\">var JSVar='" + Female + "'; var JSVar1='" + Male + "'; </script>";
ClientScriptManager script = Page.ClientScript;
if (!script.IsClientScriptBlockRegistered(this.GetType(), "Var"))
{
script.RegisterClientScriptBlock(this.GetType(), "Var", str1.ToString());
}
Код отлично работает, когда я использую var projects
вместо JSVar
и JSVar1
. Но не тогда, когда я использую JSVar и JSVar1, которые динамически определяются в коде программной части с той же структурой, что и проекты.
ПРИМЕЧАНИЕ. Я могу получить правильные значения для JSVar и JSVar1 внутри скрипта, проверив их с помощью alert() с помощью ClientScriptManager.
JSVar
иJSVar1
? - person Andrew Whitaker   schedule 20.02.2012var JSVar = [{ label: "Id1", value:"Name1", icon: "https://facebook.com/me/picture.jpg"}, { label: "Id2", value: "Name2", icon: "https://.... some url" }]
- person Tani   schedule 21.02.2012