【发布时间】:2011-11-07 08:00:36
【问题描述】:
我可以使用 jquery 填充下拉列表,如下所示:
下拉列表:
<select id="province"></select>
脚本代码:
$(document).ready(function(){
$.ajax({
type: "POST",
url: "function.aspx/provincelist",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function OnPopulateControl(response) {
list = response.d;
if (list.length > 0) {
$("province").removeAttr("disabled");
$("province").empty().append('<option value="0">Please select</option>');
$.each(list, function () {
$("province").append($("<option></option>").val(this['Value']).html(this['Text']));
});
$("province").val(valueselected);
}
else {
$("province").empty().append('<option selected="selected" value="0">Not available<option>');
}
},
error: function () {
alert("Error");
}
});
});
带有省列表功能的文件function.aspx:
[System.Web.Services.WebMethod]
public static ArrayList provincelist()
{
ArrayList List = new ArrayList();
SqlConnection con = DBclass.moketnoi();
SqlCommand cmd = new SqlCommand("SELECT TC_CODE, TC_NAME FROM PM_PROVINCE", con);
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
List.Add(new ListItem(
sdr["TC_NAME"].ToString(),
sdr["TC_CODE"].ToString()
));
}
con.Close();
return List;
}
如何以上述相同的方式填充多选框,请帮助我。非常感谢。 (我使用多选框插件http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/,但我可以填充来自服务器的数据)
【问题讨论】:
-
那么您的实际问题是什么?你想要一个多选框。您是否尝试过使用
<select multiple="multiple" />重复上述模式? -
@p.campbell : 是的,我已经包含了 multiple="multiple"
-
@Hainlp id 选择器写成
$("#province")注意#在id之前的符号 -
您使用 ajax 填充选择是否有原因?普罗维登斯的名单会经常变化吗?我注意到你没有将任何数据传递给 asp,所以除非你更新数据库,否则列表总是相同的。
-
@3nigma :是的,我注意到了#号。
标签: jquery multi-select populate