<td align="left" colspan="4">
<select id="BJUserInfo_province" name="province" value="<%=Province %>" onchange="provinceChange(this.selectedIndex)"></select>
<select id="BJUserInfo_city" name="city" value="<%=City %>"></select>
选项中没有的城市,选省即可。</td>
--这个是我写的没有效果
<select id="BJUserInfo_province" name="province" value="<%=Province %>" onchange="provinceChange(this.selectedIndex)"></select>
<select id="BJUserInfo_city" name="city" value="<%=City %>"></select>
选项中没有的城市,选省即可。</td>
--这个是我写的没有效果
解决方案 »
- asp.net服务器控件怎么用jquery
- 在添加新闻的时候不定时出现乱码,并伴有INSERT INTO 字样 .
- 客户端能否重定向通信?
- 怎么根据地址读取页面信息?
- 问一个关于sql的问题,顺便祝大家节日快乐
- !!请教一个并不是太难的问题~~请各位高手解答~马上结帐~~概不拖欠~~~
- DataTable 取出数据后如何保存在缓存,以便下次加载页面时不用重新从数据库读取?
- 50分求解 Duwamish 7.0cs简单的问题,马上结
- 兄弟们,告诉我该怎么做?我要自定义一个函数,功能是点击删除,就删除这行新闻!!!!
- IEWebControls.msi在2003上为何安装失败?
- 像大家咨询一本书-------------快来帮忙- - !
- 报错:detailsview中的idatasource的ID与sqldatasource中的ID不符?
var A= new Array();
var s = document.getElementById( "" );
for (var i = 0 ;i < A.length;i ++ )
{
var option = document.createElement( " option " );
var text = document.createTextNode(city[i]);
option.appendChild(text);
option.value = i;
s.appendChild(option);
}
select有这样红色部分的写法吗??
我这个 select是JS省市二级联动的
runat="server"
那么 select就加载不出
省市信息了
<select id="BJUserInfo_province" name="province" onchange="provinceChange(this.selectedIndex)"></select>
<select id="BJUserInfo_city" name="city"></select>JS:
<script language="JavaScript">
<!--
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
var province = [];
var cities = [];
function init()
{
xmldom.async = true;
xmldom.onreadystatechange = statInit;
window.setTimeout(function()
{
xmldom.load("city.xml");
}
, 10);
}function statInit()
{ if (xmldom.readyState == 4)
{
if (xmldom == null || xmldom.documentElement == null)
{
alert("XML文件不存在或没有菜单项");
return ;
}
createProvince();
}
}function createProvince()
{
var provinces = xmldom.getElementsByTagName("province");
delitem(document.all.province);
delitem(document.all.city);
for (var i = 0; i < provinces.length; i++)
{
province[i] = provinces[i].getAttribute("name");
cities[i] = provinces[i].getAttribute("cities");
document.all.province.add(window.Option(province[i], province[i]));
}
provinceChange(0);
}function provinceChange(index)
{
var city = cities[index].split(" ");
delitem(document.all.city);
for (var i = 0; i < city.length; i++)
{
document.all.city.add(window.Option(city[i], city[i]));
}
}function delitem(options)
{
optioncount = options.length;
for (i = optioncount - 1; i >= 0; i--)
{
options.options[i] = null
}
}
//-->
</script>读取的信息在 xml里面
<china>
<province name="北京" cities="北京"/>
<province name="上海" cities="上海"/>
<province name="天津" cities="天津"/>
<province name="重庆" cities="重庆"/>
<province name="安徽" cities="安庆 蚌埠 巢湖 池州 滁州 阜阳 合肥 淮北 淮南 黄山 六安 马鞍山 宿州 铜陵 芜湖 宣城 亳州"/> <province name="福建" cities="福州 龙岩 南平 宁德 莆田 泉州 三明 厦门 漳州"/> <province name="甘肃" cities="白银 定西 甘南藏族自治州 嘉峪关 金昌 酒泉 兰州 临夏回族自治州 陇南 平凉 庆阳 天水 武威 张掖"/> <province name="广东" cities="潮州 东莞 佛山 广州 河源 惠州 江门 揭阳 茂名 梅州 清远 汕头 汕尾 韶关 深圳 阳江 云浮 湛江 肇庆 中山 珠海"/> <province name="广西" cities="百色 北海 崇左 防城港 桂林 贵港 河池 贺州 来宾 柳州 南宁 钦州 梧州 玉林"/> <province name="贵州" cities="安顺 毕节 贵阳 六盘水 黔东南苗族侗族自治州 黔南布依族苗族自治州 黔西南布依族苗族自治州 铜仁 遵义"/> <province name="海南" cities="白沙黎族自治县 保亭黎族苗族自治县 昌江黎族自治县 澄迈县 定安县 东方 海口 乐东黎族自治县 临高县 陵水黎族自治县 琼海 琼中黎族苗族自治县 三亚 屯昌县 万宁 文昌 五指山 儋州"/> <province name="河北" cities="保定 沧州 承德 邯郸 衡水 廊坊 秦皇岛 石家庄 唐山 邢台 张家口"/> <province name="河南" cities="安阳 鹤壁 济源 焦作 开封 洛阳 南阳 平顶山 三门峡 商丘 新乡 信阳 许昌 郑州 周口 驻马店 漯河 濮阳"/> <province name="黑龙江" cities="大庆 大兴安岭 哈尔滨 鹤岗 黑河 鸡西 佳木斯 牡丹江 七台河 齐齐哈尔 双鸭山 绥化 伊春"/> <province name="湖北" cities="武汉 鄂州 恩施土家族苗族自治州 黄冈 黄石 荆门 荆州 潜江 神农架林区 十堰 随州 天门 仙桃 咸宁 襄樊 孝感 宜昌"/> <province name="湖南" cities="长沙 常德 郴州 衡阳 怀化 娄底 邵阳 湘潭 湘西土家族苗族自治州 益阳 永州 岳阳 张家界 株洲"/> <province name="吉林" cities="白城 白山 长春 吉林 辽源 四平 松原 通化 延边朝鲜族自治州"/> <province name="江苏" cities="常州 淮安 连云港 南京 南通 苏州 宿迁 泰州 无锡 徐州 盐城 扬州 镇江"/> <province name="江西" cities="抚州 赣州 吉安 景德镇 九江 南昌 萍乡 上饶 新余 宜春 鹰潭"/> <province name="辽宁" cities="鞍山 本溪 朝阳 大连 丹东 抚顺 阜新 葫芦岛 锦州 辽阳 盘锦 沈阳 铁岭 营口"/> <province name="内蒙古" cities="阿拉善盟 巴彦淖尔盟 包头 赤峰 鄂尔多斯 呼和浩特 呼伦贝尔 通辽 乌海 乌兰察布盟 锡林郭勒盟 兴安盟"/> <province name="宁夏" cities="固原 石嘴山 吴忠 银川"/> <province name="青海" cities="果洛藏族自治州 海北藏族自治州 海东 海南藏族自治州 海西蒙古族藏族自治州 黄南藏族自治州 西宁 玉树藏族自治州"/> <province name="山东" cities="滨州 德州 东营 菏泽 济南 济宁 莱芜 聊城 临沂 青岛 日照 泰安 威海 潍坊 烟台 枣庄 淄博"/> <province name="山西" cities="长治 大同 晋城 晋中 临汾 吕梁 朔州 太原 忻州 阳泉 运城"/> <province name="陕西" cities="安康 宝鸡 汉中 商洛 铜川 渭南 西安 咸阳 延安 榆林"/> <province name="四川" cities="阿坝藏族羌族自治州 巴中 成都 达州 德阳 甘孜藏族自治州 广安 广元 乐山 凉山彝族自治州 眉山 绵阳 南充 内江 攀枝花 遂宁 雅安 宜宾 资阳 自贡 泸州"/> <province name="西藏" cities="阿里 昌都 拉萨 林芝 那曲 日喀则 山南"/> <province name="新疆" cities="阿克苏 阿拉尔 巴音郭楞蒙古自治州 博尔塔拉蒙古自治州 昌吉回族自治州 哈密 和田 喀什 克拉玛依 克孜勒苏柯尔克孜自治州 石河子 图木舒克 吐鲁番 乌鲁木齐 五家渠 伊犁哈萨克自治州"/> <province name="云南" cities="保山 楚雄彝族自治州 大理白族自治州 德宏傣族景颇族自治州 迪庆藏族自治州 红河哈尼族彝族自治州 昆明 丽江 临沧 怒江傈傈族自治州 曲靖 思茅 文山壮族苗族自治州 西双版纳傣族自治州 玉溪 昭通"/> <province name="浙江" cities="杭州 湖州 嘉兴 金华 丽水 宁波 绍兴 台州 温州 舟山 衢州"/>
</china>
有两个地方,一个事createProvince里面的
另一个是provinceChange里面的
<body onload="init()">
没有效果
select控件这个地方不需要添加什么吗
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="JavaScript">
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
var province = [];
var cities = [];
function init() {
xmldom.async = true;
xmldom.onreadystatechange = statInit;
window.setTimeout(function() { xmldom.load("city.xml"); }, 10);
}
function statInit() {
if (xmldom.readyState == 4) {
if (xmldom == null || xmldom.documentElement == null) {
alert("XML文件不存在或没有菜单项");
return;
}
createProvince();
}
}
function createProvince() {
var provinces = xmldom.getElementsByTagName("province");
delitem(document.all.province);
delitem(document.all.city);
for (var i = 0; i < provinces.length; i++) {
province[i] = provinces[i].getAttribute("name");
cities[i] = provinces[i].getAttribute("cities");
document.all.province.add(new Option(province[i], province[i]));
}
provinceChange(0);
}
function provinceChange(index) {
var city = cities[index].split(" ");
delitem(document.all.city);
for (var i = 0; i < city.length; i++) {
document.all.city.add(new Option(city[i], city[i]));
}
}
function delitem(options) {
optioncount = options.length;
for (i = optioncount - 1; i >= 0; i--) {
options.options[i] = null
}
}
</script></head>
<body onload="init()">
<form id="form1" runat="server">
<div>
<select id="BJUserInfo_province" name="province" onchange="provinceChange(this.selectedIndex)">
</select>
<select id="BJUserInfo_city" name="city">
</select>
</div>
</form>
</body>
</html>
你这个没有选择的时候
出现的北京
当我选择湖北--武汉的时候
保存
此时显示的还是北京
虽然插入到了数据库
但是没有把值绑定到 select控件
所说的
还需要在select添加什么
如省就用Request.Form["province"]
市就用Request.Form["city"]
UserInfo.City = Request.Form["city"].ToString();
我取出来啦
现在是怎么把UserInfo.province值赋给select控件
protected string city = "梧州";
//这里我定死了,你取从数据库得到的值即可
然后把你的js修改一下: function createProvince() {
var provinces = xmldom.getElementsByTagName("province");
delitem(document.all.province);
delitem(document.all.city);
var index = 0;
for (var i = 0; i < provinces.length; i++) {
province[i] = provinces[i].getAttribute("name");
cities[i] = provinces[i].getAttribute("cities");
document.all.province.add(new Option(province[i], province[i]));
if (province[i] == "<%= province %>")
index = i;
}
document.all.province.selectedIndex = index;
provinceChange(index);
}
function provinceChange(index) {
var city = cities[index].split(" ");
delitem(document.all.city);
var index = 0;
for (var i = 0; i < city.length; i++) {
document.all.city.add(new Option(city[i], city[i]));
if (city[i] == "<%= city %>")
index = i;
}
document.all.city.selectedIndex = index;
}
不晚吧...
二级联动没这么夸张吧..
实在没办法用AJAX输出一段HTML,对select outhtml
也可以用回调来做,这样更具多浏览器兼容了.这样的网上例子应该不少的,
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
var province = [];
var cities = [];
function init() {
xmldom.async = true;
xmldom.onreadystatechange = statInit;
window.setTimeout(function() { xmldom.load("city.xml"); }, 10);//这段代码是否有些问题?是否必须保证客户端拥有City.xml?而且还来个settimeout...这方法感觉不友好.
}
因为有些浏览器是不支持document.all的
http://www.abcdown.net/InfoView/Article_291738_2.html
三尾有更好的吗?
帮我推荐一个
你说的使用ajaxpro吗
是否能帮忙写一个
jquery 的例子
我学习下
帮忙写个
jquery的例子
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="js/jquery.js"></script> <script language="JavaScript">
var province = [];
var cities = [];
$(document).ready(function() {
var ddlProv = $("#BJUserInfo_province")[0];
$.ajax({
url: "city.xml",
dataType: "xml",
success: function(xml) {
$(xml).find("province").each(function() {
var prov = $(this).attr("name");
var opt = document.createElement("option");
opt.setAttribute("value", prov);
opt.innerHTML = prov;
ddlProv.appendChild(opt);
});
provinceChange(0);
}
});
});
function provinceChange(index) {
var ddlProv = $("#BJUserInfo_province")[0];
var province = ddlProv.options[index].value;
$.ajax({
url: "city.xml",
dataType: "xml",
success: function(xml) {
$(xml).find("province").each(function() {
if ($(this).attr("name") == province) {
var ddlCity = $("#BJUserInfo_city")[0];
ddlCity.options.length = 0;
var cities = $(this).attr("cities").split(' ');
for (var i = 0; i < cities.length; i++) {
var opt = document.createElement("option");
opt.setAttribute("value", cities[i]);
opt.innerHTML = cities[i];
ddlCity.appendChild(opt);
}
}
});
}
});
}
</script></head>
<body>
<form id="form1" runat="server">
<div>
<select id="BJUserInfo_province" name="province" onchange="provinceChange(this.selectedIndex)">
</select>
<select id="BJUserInfo_city" name="city">
</select>
</div>
</form>
</body>
</html>
var cities = [];
$(document).ready(function() {
var ddlProv = $("#BJUserInfo_province")[0];
$.ajax({
url: "city.xml",
dataType: "xml",
success: function(xml) {
$(xml).find("province").each(function() {
var prov = $(this).attr("name");
var cs = $(this).attr("cities").split(' ');
var opt = document.createElement("option");
opt.setAttribute("value", prov);
opt.innerHTML = prov;
ddlProv.appendChild(opt);
var arr = [];
for (var i = 0; i < cs.length; i++) {
arr.push(cs[i]);
}
cities.push(arr);
});
provinceChange(0);
}
});
});
function provinceChange(index) {
var ddlCity = $("#BJUserInfo_city")[0];
ddlCity.options.length = 0;
for (var i = 0; i < cities[index].length; i++) {
var opt = document.createElement("option");
opt.setAttribute("value", cities[index][i]);
opt.innerHTML = cities[index][i];
ddlCity.appendChild(opt);
}
}