展会信息港展会大全

JQuery异步加载无限下拉框级联功能实现示例
来源:互联网   发布日期:2016-01-28 12:59:23   浏览:1477次  

导读:这篇文章主要介绍了JQuery异步加载无限下拉框级联功能的实现,需要的朋友可以参考下代码如下:pre code_snippet_id=193059 snippet_file_name=blog_20140218_1_1038704 name=code class=javascript ...

这篇文章主要介绍了JQuery异步加载无限下拉框级联功能的实现,需要的朋友可以参考下

代码如下:

<pre code_snippet_id="193059" snippet_file_name="blog_20140218_1_1038704" name="code" class="javascript">/*

JQuery异步加载无限极下拉框级联功能

zjy

*/

(function ($) {

$.ajaxSetup({ async: false });

var url = "";

var parameter = "";

$.fn.extend({

Load: function (urlPath) {

url = urlPath.url;

parameter = urlPath.parameter;

$("#ddl1").append("<option value='0'selected='selected'>请选择</option>");

$.getJSON(url, parameter, function (data) {

$.each(data.rows, function (i, row) {

$("#ddl1").append($("<option></option>").val(row.id).html(row.text));

});

$("#ddl1").change(function () { $(this).Select($(this).val(), this); });

});

$(this).Selected(parameter.parentId, $("#ddl1"));

},

Select: function (parentId, obj) {

//debugger;

if (parentId == "0") {

return;

}

parameter.parentId = parentId;

$.getJSON(url, parameter, function (data) {

$(obj).nextAll(".ddl").remove();

if (data != null) {

$("<select>", {

"class": "ddl",

change: function () {

$(this).Select($(this).val(), this);

}

}).appendTo($("#cascade"));

$($(".ddl")[$(".ddl").length - 1]).append("<option value='0' selected='selected'>请选择</option>");

$.each(data.rows, function (i, row) {

$($(".ddl")[$(".ddl").length - 1]).append($("<option></option>").val(row.id).html(row.text));

});

}

});

$(this).Selected(parentId, $(obj).nextAll(".ddl"));

},

Selected: function (parentId, obj) {

$(this).GetValue();

//debugger;

var selected = "0," + $("#loadselect").val();

$.each(selected.split(","), function (i, row) {

if (row == parentId) {

//debugger;

$(obj).val(selected.split(",")[i + 1]);

$(obj).change();

}

});

},

GetValue: function () {

var ddlValue;

var ddlCount = $(".ddl").length;

for (var i = ddlCount - 1; i >= 0; i--) {

if (i != 0) {

if ($($(".ddl")[i]).val() != 0) {

ddlValue = $($(".ddl")[i]).val();

break;

}

} else {

if ($($(".ddl")[i]).val() == 0) {

ddlValue = 0;

break;

} else {

ddlValue = $($(".ddl")[i]).val();

break;

}

}

}

$("#selectvalue").val(ddlValue);

},

});

})(jQuery);

</pre><pre code_snippet_id="193059" snippet_file_name="blog_20140218_1_1038704" name="code" class="javascript"></pre><pre code_snippet_id="193059" snippet_file_name="blog_20140218_1_1038704" name="code" class="javascript"></pre><pre code_snippet_id="193059" snippet_file_name="blog_20140218_2_4146793" name="code" class="javascript"></pre><pre code_snippet_id="193059" snippet_file_name="blog_20140218_3_3034761" name="code" class="javascript">调用方法</pre><pre code_snippet_id="193059" snippet_file_name="blog_20140218_4_4987391" name="code" class="javascript"><pre code_snippet_id="193059" snippet_file_name="blog_20140218_4_4987391" name="code" class="javascript"><script type="text/javascript">

$(function () {

$("#cascade").Load({ url: '@Url.Action("GetCountryArea")', parameter: { "parentId": 0, "random": Math.random() } });

});

</script></pre><br>

<pre code_snippet_id="193059" snippet_file_name="blog_20140218_5_843717" name="code" class="html"><div id="cascade">

<select id="ddl1" class="ddl"></select>

</div>

<input id="loadselect" hidden="hidden" value="1,2"/>

<input id="selectvalue" hidden="hidden" /></pre><br>

<br>

<pre></pre>

<pre></pre>

<pre></pre>

<pre></pre>

<pre></pre>

<pre></pre>

</pre>

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港