我在页面上有两个复选框列表 - 父级和子级。两者都是分开的可折叠的div。当Parent的div崩溃时,我使用jquery来调用对数据库执行查询的WebMethod,将返回的List序列化为json,并将其返回给jquery方法。
以上一切都运行良好,我能够成功获得预期的json字符串。
我现在要做的是根据json数据填充子复选框列表。我希望能够设置文本和值(复选框列表的DataTextField和DateValueField属性)。
任何人都可以提供如何执行此操作的示例吗?
function RunCentralEffect() {
$("#ParentDiv").hide('blind', 200);
var names = [];
$('#ParentDiv input:checked').each(function () {
names.push(this.value);
});
$.ajax({
type: "POST",
url: "BranchReportForm.aspx/MyWebMethod",
data: "{'args': '" + names + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert('Success!');
//Now what?
}
});
}
谢谢!
答案 0 :(得分:1)
当您谈论ChecbkboxList控件,DataValueField和DataTextField属性时,您指的是您的jQuery方法将不知道的ASP.NET抽象,因为这些在您的代码隐藏中处理,生成发送到浏览器的HTML。
您将要做的是直接操作DOM元素。在不了解您的代码生成的实际html布局的情况下,提供更多答案是很棘手的,但是在高级别,您需要循环返回返回的json对象并在适当的位置附加一个新的复选框和标签。格。
答案 1 :(得分:0)
您的javascript代码不知道DataValueField或DataTextField是什么。
请记住,。Net将控件呈现为HTML,因此它可能看起来像这样:
<input type="checkbox" name="vehicle" value="Infiniti" /> Infiniti
<input type="checkbox" name="vehicle" value="Pontiac" /> Pontiac
设置是否选中它们:
$('input[name=vehicle]').attr('checked', true);
$('input[name=vehicle]').attr('checked', false);
要设置值,我认为您可以使用.val();
$('input[name=vehicle]').val('BMW');