容易實(shí)現(xiàn)啊,這里以下拉框可以多選為例,先添加一個(gè)其他的選項(xiàng),給下拉款綁定一個(gè)click事件,每次選擇的時(shí)候判斷其他這個(gè)選項(xiàng)是否被選中,沒(méi)有就不做處理,如果選中的話就用一個(gè)遍歷把未選中的選項(xiàng)找出來(lái),后面就執(zhí)行你想做的操作就行,不知道我說(shuō)清楚沒(méi)有

創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比常州網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式常州網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋常州地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。
script?src="../js/jquery-1.3.2.js"?type="text/javascript"/script
script?src="../js/jquery.multiSelect.js"?type="text/javascript"/script
link?href="css/jquery.multiSelect.css"?rel="stylesheet"?type="text/css"?/
我用的是jQuery?MultiSelect?插件下拉多選框,
Select:
select?id="control_7"?name="control_7[]"?multiple="multiple"?size="5"
option?value=""請(qǐng)選擇/option
option?value="1"性病商務(wù)通/option
option?value="2"商務(wù)通/option
option?value="3"QQ/option
option?value="4"性病QQ/option
option?value="5"企業(yè)QQ/option
option?value="6"電話/option
option?value="7"性病電話/option
option?value="8"微信/option
option?value="9"競(jìng)D1/option
option?value="10"競(jìng)D2/option
option?value="11"競(jìng)D3/option
option?value="12"競(jìng)D4/option
option?value="13"400電話/option
option?value="14"掛號(hào)網(wǎng)/option
/select
jQuery?MultiSelect?插件:
.......................
if(jQuery)?(function($){
//渲染HTML的一個(gè)單一的選項(xiàng)
function?renderOption(id,?option)
{
var?html='labelinput?type="checkbox"?name="'?+?id?+?'[]"?value="'?+?option.value?+?'"';
if(?option.selected?){
html+='checked="checked"';
}
html?+=?'?/'?+?option.text?+?'/label';
return?html;
}
//?渲染選項(xiàng)/的HTML?optgroups
function?renderOptions(id,?options,?o)
{
var?html?=?"";
for(var?i?=?0;?i??options.length;?i++)?{
if(options[i].optgroup)?{
html?+=?'label?class="optGroup"';
if(o.optGroupSelectable)?{
html?+=?'input?type="checkbox"?class="optGroup"/'?+?options[i].optgroup;
}
else?{
html?+=?options[i].optgroup;
}
html?+=?'/labeldiv?class="optGroupContainer"';
html?+=?renderOptions(id,?options[i].options,?o);
html?+=?'/div';
}
else?{
html?+=?renderOption(id,?options[i]);
}
}
return?html;
}
我提交的時(shí)候都變沒(méi)了,就一個(gè)了,我想要的是我選中幾個(gè)默認(rèn)選中就是幾個(gè)。
在調(diào)用這個(gè)插件前用jquery設(shè)置optin的selected屬性
JavaScript code?
var?v='1,2,3'//這個(gè)為保存的值,自己從數(shù)據(jù)庫(kù)讀取來(lái)賦值給v變量v=','+v+',';//添加分隔符號(hào),好indexOf進(jìn)行比較var?arr=v.split(',');$('#control_7?option').each(function(){??if(v.indexOf(','+this.value+',')!=-1)this.selected=true;});//再調(diào)用插件初始化select對(duì)象
思路:jquery 獲取select多選下拉框所有選項(xiàng)的值,可以通過(guò)選取多選的數(shù)組進(jìn)行循環(huán)判斷即可。
方法如下:
function?f(){
var?se?=?document.getElementById("t");
var?s?=?[];
for(i=0;ise.length;i++){
if(se.options[i].selected){
s.push(se[i].value);
}
}
alert(s);
}
select?id="t"?multiple="true"
option?value="a"option-A/option??
option?value="b"option-B/option
option?value="c"option-C/option?
option?value="d"option-D/option
/select
input?type="button"?value="確定"?onclick="f()"?/
如圖所示:
HTML部分如下:
!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"
""
html
head
title/title
script?type="text/javascript"?src="jslib/jquery.js"/script
script?type="text/javascript"?src="jslib/select.js"/script
link?rel="stylesheet"?type="text/css"?href="mycss/select.css"
/head
body
div?class="loading"
pimg?src="images/data-loading.gif"?alt="數(shù)據(jù)加載中"/p
p?數(shù)據(jù)加載中.../p
/div
div?class="car"?
span?class="carname"?汽車(chē)廠商:
select
option?value=""?selected請(qǐng)選擇汽車(chē)廠商/option
option?value="BMW"寶馬/option
option?value="Audi"奧迪/option
option?value="VW"大眾/option
/select
img?src="images/pfeil.gif"?alt="數(shù)據(jù)"/span
span?class="cartype"?汽車(chē)類(lèi)型:
select/select
img?src="images/pfeil.gif"?alt="數(shù)據(jù)"/span
span?class="wheeltype"輪胎類(lèi)型:
select/select?/span
/div
div?class="carimage"
img?src="images/img-loading.gif"?class="carload"/
img?src=""?class="carimg"/
/div
/body
/html
CSS部分如下:
.loading{
text-align:center;
visibility:hidden;?
}
p,.car,.carimage{
text-align:center;
}
.cartype,.wheeltype,.car img,.carimage,.carload{
display:none;
}
js部分如下:
$(function(){
//得到三個(gè)下拉框
var?carnameSelect?=?$(".carname").children("select");
var?cartypeSelect?=?$(".cartype").children("select");
var?wheeltypeSelect?=?$(".wheeltype").children("select");
//給三個(gè)下拉框加下拉框的改變事件
carnameSelect.change(function(){
//1.獲取當(dāng)前汽車(chē)廠商下拉框所有選中的值
var?carnameValue?=?$(this).val();
//把wheeltypeSelect隱藏起來(lái),并且把第二個(gè)下拉框并列的圖片隱藏
wheeltypeSelect.parent().hide();
cartypeSelect.next().hide();
//如果值不為空?則向服務(wù)器發(fā)送請(qǐng)求
if(carnameValue!=""){
//用post給服務(wù)器發(fā)送信息
//第一個(gè)參數(shù)是請(qǐng)求的url?第二個(gè)參數(shù)是請(qǐng)求發(fā)送的數(shù)據(jù)并且以post發(fā)送,第三個(gè)參數(shù)是回調(diào)函數(shù)就收返回?cái)?shù)據(jù),數(shù)據(jù)就在函數(shù)的參數(shù)中
//第四個(gè)參數(shù)是請(qǐng)求返回的數(shù)據(jù)格式默認(rèn)是html
if(!carnameSelect.data(carnameValue)){
$.post("SelectServlet",{keyword:carnameValue,type:"top"},function(data){
if(data.length!=0){
cartypeSelect.html("");
$("option?value=''請(qǐng)選擇汽車(chē)類(lèi)型/option").appendTo(cartypeSelect);
for(var?i=0;idata.length;i++){
$("option?value='"+data[i]+"'"+data[i]+"/option").appendTo(cartypeSelect);
}
//追加完成后,需要顯示第二個(gè)下拉框和第一個(gè)下拉框后的圖片
cartypeSelect.parent().show();
carnameSelect.next().show();
}else{
//如果是0?說(shuō)明沒(méi)有數(shù)據(jù)要返回。
//第二個(gè)下拉框隱藏,第一個(gè)下拉框后的圖片隱藏。
cartypeSelect.parent().hide();
carnameSelect.next().hide();
}
//把數(shù)據(jù)緩沖起來(lái),下次從緩沖中去取,取不到的再跟服務(wù)器進(jìn)行交互,取到就直接使用,以此來(lái)減輕服務(wù)器的壓力
carnameSelect.data(carnameValue,data);
},"json");
}else{
var?data?=?carnameSelect.data(carnameValue);
if(data.length!=0){
//遍歷這個(gè)數(shù)組元素
cartypeSelect.html("");
$("option?value=''請(qǐng)選擇汽車(chē)類(lèi)型/option").appendTo(cartypeSelect);
for(var?i=0;idata.length;i++){
//存在一個(gè)元素,汽車(chē)類(lèi)型的下拉框就應(yīng)該多一個(gè)元素?所以又一個(gè)元素就創(chuàng)建一個(gè)option節(jié)點(diǎn),并且追加給汽車(chē)類(lèi)型下拉框
$("option?value='"+data[i]+"'"+data[i]+"/option").appendTo(cartypeSelect);
}
//追加完成后,需要顯示第二個(gè)下拉框和第一個(gè)下拉框的圖片
cartypeSelect.parent().show();
carnameSelect.next().show();
}else{
//如果是0?說(shuō)明沒(méi)有數(shù)據(jù)要返回。
//第二個(gè)下拉框隱藏,第一個(gè)下拉框后的圖片隱藏。
cartypeSelect.parent().hide();
carnameSelect.next().show();
}
}
}else{
//如果carnameValue為空?也就是說(shuō)選擇的汽車(chē)廠商沒(méi)有,那么第二個(gè)下拉框,和第一個(gè)下拉框后的圖片還得繼續(xù)隱藏
cartypeSelect.parent().hide();
//獲取汽車(chē)廠商的下一個(gè)兄弟節(jié)點(diǎn)
carnameSelect.next().hide();
}
});
cartypeSelect.change(function(){
//1.獲取當(dāng)前汽車(chē)類(lèi)型下拉框所有選中的值
var?cartypeValue?=?$(this).val();
//隱藏汽車(chē)圖片attr:先清空上次src圖片路徑避免下一次先顯示一次.
$(".carimg").hide().attr("src","");
$(".carimage").hide();
//2.如果值不為空就向服務(wù)器發(fā)送請(qǐng)求
if(cartypeValue!=""){
if(!cartypeSelect.data(cartypeValue)){
$.post("SelectServlet",{keyword:cartypeValue,type:"sub"},function(data){
//可以獲得請(qǐng)求數(shù)據(jù)進(jìn)行分析處理???,將來(lái)在Servlet中數(shù)據(jù)是以字符串?dāng)?shù)組的方式返回的
//如果返回?cái)?shù)據(jù)的長(zhǎng)度不是0?對(duì)數(shù)據(jù)進(jìn)行分析
if(data.length!=0){
//遍歷此數(shù)組元素
wheeltypeSelect.html("");
$("option?value=''請(qǐng)選擇汽車(chē)類(lèi)型/option").appendTo(wheeltypeSelect);
for(var?i=0;idata.length;i++){
//存在一個(gè)元素,汽車(chē)類(lèi)型的下拉框就應(yīng)該多一個(gè)元素?所以又一個(gè)元素就創(chuàng)建一個(gè)option節(jié)點(diǎn),并且追加給汽車(chē)類(lèi)型下拉框
$("option?value='"+data[i]+"'"+data[i]+"/option").appendTo(wheeltypeSelect);
}
//追加完成后,需要顯示第三個(gè)下拉框和第二個(gè)下拉框后的圖片
wheeltypeSelect.parent().show();
cartypeSelect.next().show();
}else{
//如果是0?說(shuō)明沒(méi)有數(shù)據(jù)要返回。
//第3個(gè)下拉框隱藏,第2個(gè)下拉框后的圖片隱藏。
wheeltypeSelect.parent().hide();
cartypeSelect.next().hide();
}
//把data數(shù)據(jù)緩沖起來(lái)
cartypeSelect.data(cartypeValue,data);
},"json");
}else{
var?data?=?cartypeSelect.data(cartypeValue);
if(data.length!=0){
//遍歷這個(gè)數(shù)組元素
wheeltypeSelect.html("");
$("option?value=''請(qǐng)選擇汽車(chē)類(lèi)型/option").appendTo(wheeltypeSelect);
for(var?i=0;idata.length;i++){
//存在一個(gè)元素,汽車(chē)類(lèi)型的下拉框就應(yīng)該多一個(gè)元素?所以又一個(gè)元素就創(chuàng)建一個(gè)option節(jié)點(diǎn),并且追加給汽車(chē)類(lèi)型下拉框
$("option?value='"+data[i]+"'"+data[i]+"/option").appendTo(wheeltypeSelect);
}
//追加完成后,需要顯示第三個(gè)下拉框和第二個(gè)下拉框后的圖片
wheeltypeSelect.parent().show();
cartypeSelect.next().show();
//追加完成后,需要顯示第三個(gè)下拉框和第二個(gè)下拉框后的圖片
wheeltypeSelect.parent().show();
cartypeSelect.next().show();
}else{
//如果是0?說(shuō)明沒(méi)有數(shù)據(jù)要返回。
//第3個(gè)下拉框隱藏,第2個(gè)下拉框后的圖片隱藏。
wheeltypeSelect.parent().hide();
cartypeSelect.next().hide();
}
}
}else{
wheeltypeSelect.parent().hide();
cartypeSelect.next().hide();
}
});
wheeltypeSelect.change(function(){
//取得選中的車(chē)輪類(lèi)型的值
var?wheeltypeValue?=?$(this).val();
//取得圖片的名稱(chēng)
var?imagename?=?carnameSelect.val()+"_"+cartypeSelect.val()+"_"+wheeltypeValue+".jpg";
//$(".carimg").attr("src","images/"+imagename);
//$(".carimage").show();
//js對(duì)圖片進(jìn)行預(yù)裝載
//js對(duì)象
$(".carimg").hide();
$(".carimage").show();
$(".carload").show();
var?catchimg?=?new?Image();
//如何轉(zhuǎn)換為jquery對(duì)象并處理
$(catchimg).attr("src","images/"+imagename).load(function(){
//隱藏loading圖片
$(".carload").hide();
//顯示汽車(chē)圖片
$(".carimage").show();
$(".carimg").attr("src","images/"+imagename).show();
});
});
//動(dòng)畫(huà)效果
$(".loading").ajaxStart(function(){
$(".loading").css("visibility","visible");
$(this).animate({
opacity:1
},0);
}).ajaxStop(function(){
$(this).animate({
opacity:0
},500);
});
});
//別忘了引用jquery.js
這個(gè)插件沒(méi)有定義控件的高度的配置,控件也沒(méi)有設(shè)置高度,依據(jù)內(nèi)容的高度來(lái)確定控件整體高度,你可以給樣式添加高度即可。不過(guò)還是修改源代碼來(lái)實(shí)現(xiàn)高度控制好點(diǎn),可以隨便配置,而不用統(tǒng)一
2者結(jié)合也可以
css覆蓋部分,你也可以修改jquery.multiselect.css這個(gè)css文件增加style里面的樣式
link rel="stylesheet" type="text/css" href="../jquery.multiselect.css" /
style
.ui-multiselect{line-height:30px;height:30px}
/style
或者修改jquery.multiselect.js文件,增加一個(gè)cHeight配置,用來(lái)控制控件的高度,找到下面的這句,修改成這樣
var button = (this.button = $('button type="button"span class="ui-icon ui-icon-triangle-1-s"/span/button'))
===改成這樣,判斷配置了cHeight增加增加style控制高度
var button = (this.button = $('button type="button"'+(o.cHeight?' style="height:'+o.cHeight+'px"':'')+'span class="ui-icon ui-icon-triangle-1-s"/span/button'))
DEMO
$("select").multiselect({cHeight:40});
1、添加下拉框選項(xiàng)并設(shè)置樣式
function?addOption(){
$("#下拉框的id").append(?"option?value=\"1\"選項(xiàng)一/option"?);
$("#下拉框的id").append(?"option?value=\"1\"選項(xiàng)二/option"?);
//可以一個(gè)一個(gè)添加,也可以遍歷要添加的數(shù)據(jù)循環(huán)添加
//兩種方式設(shè)置樣式
//1、直接設(shè)置下拉框的css
$("#下拉框的id").css({"widht":"20px","height":"10px"});
//2、或者寫(xiě)好css樣式動(dòng)態(tài)添加class
//css文件或者標(biāo)簽里寫(xiě)好css樣式如:.option{width:20px;height:10px;}
$("#下拉框的id").addClass("option");
}
網(wǎng)站欄目:jquery多選下拉框,jquery下拉列表選中
本文網(wǎng)址:http://chinadenli.net/article29/dsiijjh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站改版、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、做網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)