调用jquery部分:
<link rel="stylesheet" href="css/drop-down.css" />
<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<script src="js/select-widget-min.js"></script>
<script>
$(document).ready(function(){
$(".ui-select").selectWidget({
change : function (changes) {
return changes;
},
effect : "slide",
keyControl : true,
speed : 200,
scrollHeight : 250
});
});
</script>这是地方要怎样传递值
.net前台控件部分
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><asp:DropDownList ID="DropDownList1" runat="server" CssClass="ui-select" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList> <asp:DropDownList ID="DropDownList2" CssClass="ui-select" runat="server" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList> <asp:DropDownList ID="DropDownList3" CssClass="ui-select" runat="server" OnSelectedIndexChanged="DropDownList3_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList> <asp:DropDownList ID="DropDownList4" CssClass="ui-select" runat="server"></asp:DropDownList></ContentTemplate></asp:UpdatePanel>
如果不加 CssClass="ui-select" DropDownList级联调用数据库数据程序一点问题没有,加了 CssClass="ui-select"之后只能DropDownList1数据可以调出来,DropDownList2,DropDownList3,DropDownList4,数据值不能调出来,不能级联,主要是<script src="js/select-widget-min.js"></script>这个文件里的js出问题,取不到DropDownList1的值,特向高手请教,这个问题困扰好好长时间,往能帮我解决,谢谢,有奖励
<script src="js/select-widget-min.js"></script>文件代码
"use strict";$.widget("ui.selectWidget",{options:{change:function(e){return e},effect:"slide",keyControl:true,speed:200,scrollHeight:250},_create:function(){this._selectFunctional()},_selectFunctional:function(){function v(t){$("li.active",s).removeClass("active");$("li",s).eq(t).addClass("active");$("option[selected]",e).removeAttr("selected");u.eq(t).prop("selected",true);e.val(u.eq(t).val());n.text(u.eq(t).text());a=t;if(p){e.change(u.eq(t).val());p(e.val())}return t}function m(){var e=0,t=$(".select-items",s);for(var n=0,r=t.length;n<r;n++){if($(t[n]).hasClass("active")){break}e+=$(t[n]).outerHeight()}s.stop().animate({scrollTop:e},l)}if(this.element.is(":hidden")){return false}var e=this.element,t=$("<div>").addClass("select-main"),n=$("<div>").addClass("select-set"),r=$("<div>").addClass("select-arrow"),i=$("<div>").addClass("select-block"),s=$("<ul>").addClass("select-list"),o=e.find("option[selected]").length,u=$("option",e),a=0,f=$("input[type=reset]",e.parents("form")),l=this.options.speed,c=this.options.keyControl,h=this.options.effect,p=this.options.change,d=this.options.scrollHeight;t.append(r);t.append(n);i.append(s);t.append(i);e.after(t);e.hide();i.hide();u.each(function(e,t){s.append($("<li>").addClass("select-items").text($(t).text()))});f.click(function(){$(u,$(this).parents("form")).each(function(e,t){if($(t).val()==""&&!$(t).is(":selected")){$(".select-items:first",s).click();return false}})});if(e.attr("disabled")){t.addClass("disabled")}if(!o){e.val(u.first().val());$("li:first",s).addClass("active");n.text(u.first().text())}else{e.val(e.find("option[selected]").val());$("li",s).eq(e.find("option[selected]").index()).addClass("active");n.text(e.find("option[selected]").text())}a=$("option[selected]",e).index();$("li",s).click(function(){var e=$(this).index();a=e;v(e)});if(d){if(i.height()>d){s.css("height",d).css("overflow","auto")}}r.click(function(){n.click()});n.click(function(){var e=$(this);if(e.parent(t).hasClass("disabled")){return false}if(!e.prev().hasClass("reverse")){$(".select-arrow").removeClass("reverse");e.prev().addClass("reverse");e.parent().addClass("z-index")}else{e.parent().removeClass("z-index");e.prev().removeClass("reverse")}if(i.is(":hidden")){if($(".select-block").is(":visible")){if(h=="slide"){$(".select-block").slideUp(l/2);$(".select-main").removeClass("z-index")}else if(h=="fade"){$(".select-block").fadeOut(l/2);$(".select-main").removeClass("z-index")}$(document).unbind("keydown")}$(document).bind("click",function(e){if(!$(e.target).is(".select-set")&&!$(e.target).is(".select-arrow")){if($(".select-block").is(":visible")){if(h=="slide"){i.slideUp(l/2,function(){$(".select-main").removeClass("z-index")});$(".select-arrow").removeClass("reverse")}else if(h=="fade"){i.fadeOut(l/2,function(){$(".select-main").removeClass("z-index")});$(".select-arrow").removeClass("reverse")}$(document).unbind("click keydown")}}});if(h=="slide"){i.slideDown(l);e.parent().addClass("z-index");m()}else if(h=="fade"){i.fadeIn(l);e.parent().addClass("z-index");m()}if(c){$(document).bind("keydown",function(e){var t=e.keyCode;if(t==40){if(a<u.length-1){a=a==-1?0:a;v(a+=1);m()}e.preventDefault()}if(t==38){if(a>0){v(a-=1);m()}e.preventDefault()}if(t==13){if(h=="slide"){i.slideUp(l/2,function(){$(".select-main").removeClass("z-index")})}else if(h=="fade"){i.fadeOut(l/2,function(){$(".select-main").removeClass("z-index")})}$(".select-arrow").removeClass("reverse");$(document).unbind("keydown");e.preventDefault()}})}}else{if(h=="slide"){i.slideUp(l/2,function(){$(".select-main").removeClass("z-index")});$(".select-arrow").removeClass("reverse")}else if(h=="fade"){i.fadeOut(l/2,function(){$(".select-main").removeClass("z-index")});$(".select-arrow").removeClass("reverse")}$(document).unbind("keydown")}})}});
早早抛弃web form吧
我擦,拖控件
控件微软造的,不是用的吗,
控件微软造的,不是用的吗,
数据绑定在aspx.cs文件里的,程序不都是这么写的,还会另有变化,
@沈大荣: 我的意思是现在很少用这种了
@JameChen: 现在用什么比较多
@沈大荣: 纯的html与后台交互数据,或者mvc
@JameChen: 是的,知道
有什么案例,我看看学习下
别干了webform了.没有任何意义的.
至于你说的取不到值.你在浏览器上调试过为什么取不到值没
如果不加 CssClass="ui-select" DropDownList级联调用数据库数据程序一点问题没有,加了 CssClass="ui-select"之后只能DropDownList1数据可以调出来,DropDownList2,DropDownList3,DropDownList4,数据值不能调出来,不能级联,主要是<script src="js/select-widget-min.js"></script>这个文件里的js出问题,取不到DropDownList1的值,特向高手请教,这个问题困扰好好长时间,往能帮我解决,谢谢,有奖励
@沈大荣: 浏览器上调试过吗
四级联动程序很复杂的,我只是想加个样式美化一下,就取不到值了,肯定是js文件引起的
@沈大荣: 不是啊..我是说你在浏览器上调试过没啊.
你在扯些什么..
@吴瑞祥: 调试过了,CssClass="ui-select"加了就取不到值了,
@沈大荣: 浏览器上调试.
你是怎么取值.然后取不到的.你取不到的是什么.是前端取不到.还是后端取不到
@吴瑞祥: 没有加CssClass="ui-select",一切正常,加了之后,<script src="js/select-widget-min.js"></script>
<script>
$(document).ready(function(){
$(".ui-select").selectWidget({
change : function (changes) {
return changes;
},
effect : "slide",
keyControl : true,
speed : 200,
scrollHeight : 250
});
});
</script>调用js文件就取不到值了
@沈大荣: 意思是.加了样式之后.通过样式选择器在jquery找不到吗,$(".ui-select")返回的数组长度是0?
@吴瑞祥: jquery我不会的呀,数组返回长度我看不到
@沈大荣: 那你取不到值.取不到的是哪里的值.
这个和jquery会不会没关系.
我一开始就说了..浏览器上调试.不会的话找个人学..
jquery+css美化select 在网上找的吗,,$(".ui-select")后,主要是<script src="js/select-widget-min.js"></script>这个文件
<asp:DropDownList ID="DropDownList1" runat="server" CssClass="ui-select" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>这不是四级联动的下拉框吗,第一个是正常的,第二个,第三个,第四个,应该依次取得上一个下拉框的id值
<asp:DropDownList ID="DropDownList1" runat="server" CssClass="ui-select" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>这不是四级联动的下拉框吗,第一个是正常的,第二个,第三个,第四个,应该依次取得上一个下拉框的id值
<asp:DropDownList ID="DropDownList2" CssClass="ui-select" runat="server" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged" AutoPostBack="true">取不到值,第三个,第四个框也没值,本身是可以按大小区域来选择的,
<script>
$(document).ready(function(){
$(".ui-select").selectWidget({
change : function (changes) {
return changes;
},
effect : "slide",
keyControl : true,
speed : 200,
scrollHeight : 250
});
});
</script>调用js文件就取不到值了
四级联动会做的都不多,都是大笨蛋