ASP.NET给select联动赋值

liuswi 2013-10-12 03:15:00
下载的一个封装好的JS省市区联动,怎样把数据库的信息赋值给下拉
<select name="province3" id="province3" class="province3"></select><select name="city3" id="city3" class="city3"></select><select name="area3" id="area3"></select>
<script language="javascript" type="text/javascript">
new PCAS("province3", "city3", "area3");
</script>
...全文
407 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuswi 2013-10-12
  • 打赏
  • 举报
回复
引用 11 楼 lizeyuan8238386 的回复:
[quote=引用 5 楼 liuswi 的回复:] [quote=引用 4 楼 lizeyuan8238386 的回复:] 那你现在做到那一步了
<script language="javascript" type="text/javascript"> window.onload = function() { document.getElementById("province3").value = document.getElementById("HiddenField1").value; document.getElementById("city3").value = document.getElementById("HiddenField2").value; document.getElementById("area3").value = document.getElementById("HiddenField3").value; } </script> 把数据库的信息放到这三个隐藏域HiddenField里了,省可以被正确赋值 [/quote] 以前我也这么做过,但是很麻烦,还是异步获取方便,尽量不要这么做吧: 首次加载即加载所有省(如果是修改页面则在夹在后选中一个) 其次选择省的话,在onchange事件里面 异步获取选中省的市,填充市的下拉(县则相同),(如果选择其他省那么省以下的市区县 都要清空从而重新加载市);
<select id="pro" onchange="GetCity()"></select>
<select id="city" onchange="GetArea()"></select>
<select id="areas"></select>

<script src="../../Scripts/jquery-1.7.1.js" type="text/javascript"></script>

<script type="text/javascript">
    window.onload = GetProvince;
    //页面初始化加载省
    function GetProvince() {
        $.ajax({
            type: "post",
            url: "请求省数据的路径",
            success: function (strpro) {
                if (strpro != "") {
                    $("#pro").html(strpro);
                }
            }
        });
    }
    function GetCity() {
        //清空市和县
        $("#city").empty();
        $("#areas").empty();

        //请求市的数据
        $.ajax({
            type: "post",
            url: "请求市数据的路径",
            date: { proid: $("#pro").val() },//参数,省id
            success: function (strcity) {
                if (strcity != "") {
                    $("#city").html(strcity);
                }
            }
        });
    }
    function GetArea() {
        //请求县区数据
        $.ajax({
            type: "post",
            url: "请求县数据的路径",
            date: { proid: $("#city").val() }, //参数,市id
            success: function (strares) {
                if (strares != "") {
                    $("#areas").html(strares);
                }
            }
        });
    }
</script>
[/quote] 现在可以了,谢了
liuswi 2013-10-12
  • 打赏
  • 举报
回复
引用 12 楼 xiaojie_cp 的回复:
<select name="province3" id="province3"></select><select name="city3" id="city3"></select><select name="area3" id="area3"></select>
    <script language="javascript" type="text/javascript">
        new PCAS("province3", "city3", "area3","<%=province%>","<%=city%>","<%=area%>");
    </script>
哦啦,十分感谢
lovebaby 2013-10-12
  • 打赏
  • 举报
回复
丢了双引号,加上试试
lovebaby 2013-10-12
  • 打赏
  • 举报
回复
<select name="province3" id="province3"></select><select name="city3" id="city3"></select><select name="area3" id="area3"></select>
    <script language="javascript" type="text/javascript">
        new PCAS("province3", "city3", "area3","<%=province%>","<%=city%>","<%=area%>");
    </script>
  • 打赏
  • 举报
回复
引用 5 楼 liuswi 的回复:
[quote=引用 4 楼 lizeyuan8238386 的回复:] 那你现在做到那一步了
<script language="javascript" type="text/javascript"> window.onload = function() { document.getElementById("province3").value = document.getElementById("HiddenField1").value; document.getElementById("city3").value = document.getElementById("HiddenField2").value; document.getElementById("area3").value = document.getElementById("HiddenField3").value; } </script> 把数据库的信息放到这三个隐藏域HiddenField里了,省可以被正确赋值 [/quote] 以前我也这么做过,但是很麻烦,还是异步获取方便,尽量不要这么做吧: 首次加载即加载所有省(如果是修改页面则在夹在后选中一个) 其次选择省的话,在onchange事件里面 异步获取选中省的市,填充市的下拉(县则相同),(如果选择其他省那么省以下的市区县 都要清空从而重新加载市);
<select id="pro" onchange="GetCity()"></select>
<select id="city" onchange="GetArea()"></select>
<select id="areas"></select>

<script src="../../Scripts/jquery-1.7.1.js" type="text/javascript"></script>

<script type="text/javascript">
    window.onload = GetProvince;
    //页面初始化加载省
    function GetProvince() {
        $.ajax({
            type: "post",
            url: "请求省数据的路径",
            success: function (strpro) {
                if (strpro != "") {
                    $("#pro").html(strpro);
                }
            }
        });
    }
    function GetCity() {
        //清空市和县
        $("#city").empty();
        $("#areas").empty();

        //请求市的数据
        $.ajax({
            type: "post",
            url: "请求市数据的路径",
            date: { proid: $("#pro").val() },//参数,省id
            success: function (strcity) {
                if (strcity != "") {
                    $("#city").html(strcity);
                }
            }
        });
    }
    function GetArea() {
        //请求县区数据
        $.ajax({
            type: "post",
            url: "请求县数据的路径",
            date: { proid: $("#city").val() }, //参数,市id
            success: function (strares) {
                if (strares != "") {
                    $("#areas").html(strares);
                }
            }
        });
    }
</script>
liuswi 2013-10-12
  • 打赏
  • 举报
回复
引用 9 楼 xiaojie_cp 的回复:
不会的,那是你没有设置对相关的文件或代码。你这个联动下拉我经常使用。具体可参考:
http://popub.net:81/script/PCAS.html

后台代码
public string province, city, area;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
province = "北京市";
city = "市辖区";
area = "朝阳区";
}
}
前台按你刚说的弄得
<select name="province3" id="province3"></select><select name="city3" id="city3"></select><select name="area3" id="area3"></select>
<script language="javascript" type="text/javascript">
new PCAS("province3", "city3", "area3",<%=province%>,<%=city%>,<%=area%>);
</script>

lovebaby 2013-10-12
  • 打赏
  • 举报
回复
不会的,那是你没有设置对相关的文件或代码。你这个联动下拉我经常使用。具体可参考: http://popub.net:81/script/PCAS.html
liuswi 2013-10-12
  • 打赏
  • 举报
回复
引用 7 楼 xiaojie_cp 的回复:
.aspx.cs中
public string province,city,area;

赋值:
province = "北京市";
city = "市辖区";
area = "朝阳区";
.aspx页面
<select name="province3" id="province3" class="province3"></select><select name="city3" id="city3" class="city3"></select><select name="area3" id="area3"></select>
    <script language="javascript" type="text/javascript">
        new PCAS("province3", "city3", "area3",<%=province%>,<%=city%>,<%=area%>);
    </script>
这样做了下拉里啥都没了
lovebaby 2013-10-12
  • 打赏
  • 举报
回复
.aspx.cs中
public string province,city,area;

赋值:
province = "北京市";
city = "市辖区";
area = "朝阳区";
.aspx页面
<select name="province3" id="province3" class="province3"></select><select name="city3" id="city3" class="city3"></select><select name="area3" id="area3"></select>
    <script language="javascript" type="text/javascript">
        new PCAS("province3", "city3", "area3",<%=province%>,<%=city%>,<%=area%>);
    </script>
liuswi 2013-10-12
  • 打赏
  • 举报
回复
引用 4 楼 lizeyuan8238386 的回复:
那你现在做到那一步了

<script language="javascript" type="text/javascript">
window.onload = function() {
document.getElementById("province3").value = document.getElementById("HiddenField1").value;
document.getElementById("city3").value = document.getElementById("HiddenField2").value;
document.getElementById("area3").value = document.getElementById("HiddenField3").value;
}
</script>
把数据库的信息放到这三个隐藏域HiddenField里了,省可以被正确赋值
  • 打赏
  • 举报
回复
那你现在做到那一步了
liuswi 2013-10-12
  • 打赏
  • 举报
回复
引用 1 楼 lizeyuan8238386 的回复:
异步取得数据之后 最好把数据拼接成类似下面的字符串: <option value='值1'>文本1</option> <option value='值2'>文本2</option> <option value='值3'>文本3</option> 填充到下拉狂里面(jquery): $("#下拉id").html(返回的字符串);
jquery我不会用,现在分别给省市区做了三个隐藏域,但是只有省可以被赋值,市需要省响应change事件才能获得值
liuswi 2013-10-12
  • 打赏
  • 举报
回复
jquery我不会用,现在分别给省市区做了三个隐藏域,但是只有省可以被赋值,市需要省响应change事件才能获得值
  • 打赏
  • 举报
回复
异步取得数据之后 最好把数据拼接成类似下面的字符串: <option value='值1'>文本1</option> <option value='值2'>文本2</option> <option value='值3'>文本3</option> 填充到下拉狂里面(jquery): $("#下拉id").html(返回的字符串);

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧