jquery多级联动下拉插件chained(附DEMO)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Chained Select / Pulldown Demo</title>
<meta name="generator" content="fingers" />
<style type="text/css">
#sidebar {
width: 0px;
}

#content {
width: 770px;
}

#button, #button-remote {
display: none;
}

</style>

</head>

<body>
<div id="wrap">
<div id="header">
<p>
<h1>Chained</h1><br />
<small>Chained select plugin for jQuery</small>
<ul id="nav">
<li id="first"><a href="/" class="active">weblog</a></li>
<li><a href="/projects" class="last">projects</a></li>
<!--
<li><a href="/cv" class="last">cv</a></li>
-->
</ul>
</p>
</div>
<div id="content">

<div class="entry">
<h3>jquery.chained.js</h3>
<form>
<select id="mark">
<option value="">--</option>
<option value="bmw">BMW</option>
<option value="audi">Audi</option>
</select>
<select id="series">
<option value="">--</option>

<option value="series-1" class="bmw">1 series</option>
<option value="series-3" class="bmw">3 series</option>
<option value="series-5" class="bmw">5 series</option>

<option value="a1" class="audi">A1</option>
<option value="a3" class="audi">A3</option>
<option value="s3" class="audi">S3</option>
</select>
<select id="model">
<option value="">--</option>

<option value="3-doors" class="series-1 bmw">3 doors</option>
<option value="5-doors" class="series-1">5 doors</option>
<option value="coupe" class="series-1 series-3 series-6">Coupe</option>
<option value="cabrio" class="series-1 series-3 series-6">Cabrio</option>
<option value="sedan" class="series-3 series-5 series-7">Sedan</option>
<option value="touring" class="series-3 series-5">Touring</option>
<option value="sedan" class="a1 a3 s3">Sedan</option>
<option value="sportback" class="a3">Sportback</option>
<option value="cabriolet" class="a3">Cabriolet</option>
<option value="avant" class="a1">Avant</option>
<option value="allroad" class="a3">Allroad</option>
<option value="coupe" class="s3">Coupe</option>
</select>

<select id="engine">
<option value="" width="150"></option>
<option value="25-petrol" class="series-3 bmw">2.5 petrol</option>
<option value="30-petrol" class="series-3 a3">3.0 petrol</option>
<option value="30-diesel" class="coupe">3.0 diesel</option>
</select>

</form>

</div>

<div id="sidebar">
</div>

</div>

<div id="footer">
</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="jquery.chained.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(function() {

/* For jquery.chained.js */
$("#series").chained("#mark");
$("#model").chained("#series,#mark");
$("#engine").chained("#series, #model,#mark");
})

</script>

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">
_uacct = "UA-190966-1";
urchinTracker();
</script>

</body>
</html>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 FastAdmin 中实现下拉表单联,可以使用 FastAdmin 自带的表单组件以及 jQuery 插件 Chained Selects。 具体实现步骤如下: 1. 定义两个联下拉框,如下: ```php $form->select('province_id', '省份')->options('/api/province'); $form->select('city_id', '城市')->options('/api/city')->rules('required'); ``` 其中 `province_id` 和 `city_id` 分别是表单项的 name 值,`/api/province` 和 `/api/city` 是获取数据的接口地址。 2. 在控制器中定义接口方法,用于获取城市数据,如下: ```php namespace app\admin\controller; use think\Controller; class ApiController extends Controller { public function province() { $provinceList = db('province')->select(); return json($provinceList); } public function city() { $provinceId = input('get.province_id'); $cityList = db('city')->where('province_id', $provinceId)->select(); return json($cityList); } } ``` 其中 `province` 方法返回所有省份数据,`city` 方法根据省份 ID 获取该省份下的城市数据。 3. 使用 Chained Selects 插件实现下拉框联,如下: ```js $(function() { // 省份下拉框改变事件 $('select[name="province_id"]').change(function() { var provinceId = $(this).val(); // 清空城市下拉框 $('select[name="city_id"]').empty(); // 态加载城市数据 $.getJSON('/admin/api/city', {province_id: provinceId}, function(data) { $.each(data, function(i, item) { $('select[name="city_id"]').append('<option value="' + item.id + '">' + item.name + '</option>'); }); // 触发城市下拉框的 change 事件 $('select[name="city_id"]').trigger('change'); }); }); // 城市下拉框改变事件 $('select[name="city_id"]').change(function() { // TODO: 根据城市 ID 加载其他数据 }); // 初始化省份下拉框 $('select[name="province_id"]').trigger('change'); }); ``` 其中 `change` 事件监听省份下拉框的改变,根据选中的省份 ID 态加载城市数据,并将加载的城市数据添加到城市下拉框中。同时,触发城市下拉框的 `change` 事件,以便根据城市 ID 加载其他数据。最后,通过触发省份下拉框的 `change` 事件,完成初始化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值