js動(dòng)態(tài)改變select選擇變更option的index值示例
document.getElementById("louyuming").options[0].selected=true; function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { isExit = true; break; } } return isExit; }
Javascript 操作select是表單中常見(jiàn)的一種,今天刪除多個(gè)select值的時(shí)候出現(xiàn)了問(wèn)題,搞了半天原來(lái)是索引引起的(即刪除的時(shí)候要從索引大的開(kāi)始刪,然后再 刪除索引小的,否則刪除了索引小的后索引大的索引就變化了,再刪除時(shí)就會(huì)出現(xiàn)問(wèn)題--問(wèn)題的關(guān)鍵是for循環(huán)是要從大到小,而不是常規(guī)的從0到 length)
// 4.刪除select中選中的項(xiàng) function jsRemoveSelectedItemFromSelect(objSelect) { var length = objSelect.options.length - 1; for(var i = length; i >= 0; i--){ if(objSelect[i].selected == true){ objSelect.options[i] = null; } } }
1判斷select選項(xiàng)中 是否存在Value="paraValue"的Item
2向select選項(xiàng)中 加入一個(gè)Item
3從select選項(xiàng)中 刪除一個(gè)Item
4刪除select中選中的項(xiàng)
5修改select選項(xiàng)中 value="paraValue"的text為"paraText"
6設(shè)置select中text="paraText"的第一個(gè)Item為選中
7設(shè)置select中value="paraValue"的Item為選中
8得到select的當(dāng)前選中項(xiàng)的value
9得到select的當(dāng)前選中項(xiàng)的text
10得到select的當(dāng)前選中項(xiàng)的Index
11清空select的項(xiàng)
======================================================================
動(dòng)態(tài)刪除select中的所有options:
function deleteAllOptions(sel){ sel.options.length=0; }
動(dòng)態(tài)刪除select中的某一項(xiàng)option:
function deleteOption(sel,indx){ sel.options.remove(indx); }
動(dòng)態(tài)添加select中的項(xiàng)option:
function addOption(sel,text,value){ sel.options.add(new Option(text,value)); }
上面在IE和FireFox都能測(cè)試成功,希望以后可以用上。
===========================================
js 代碼
// 1.判斷select選項(xiàng)中 是否存在Value="paraValue"的Item function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { isExit = true; break; } } return isExit; } // 2.向select選項(xiàng)中 加入一個(gè)Item function jsAddItemToSelect(objSelect, objItemText, objItemValue) { //判斷是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { alert("該Item的Value值已經(jīng)存在"); } else { var varItem = new Option(objItemText, objItemValue); objSelect.options.add(varItem); alert("成功加入"); } } // 3.從select選項(xiàng)中 刪除一個(gè)Item function jsRemoveItemFromSelect(objSelect, objItemValue) { //判斷是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { objSelect.options.remove(i); break; } } alert("成功刪除"); } else { alert("該select中 不存在該項(xiàng)"); } } // 4.刪除select中選中的項(xiàng) function jsRemoveSelectedItemFromSelect(objSelect) { var length = objSelect.options.length - 1; for(var i = length; i >= 0; i--){ if(objSelect[i].selected == true){ objSelect.options[i] = null; } } } // 5.修改select選項(xiàng)中 value="paraValue"的text為"paraText" function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) { //判斷是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { objSelect.options[i].text = objItemText; break; } } alert("成功修改"); } else { alert("該select中 不存在該項(xiàng)"); } } // 6.設(shè)置select中text="paraText"的第一個(gè)Item為選中 function jsSelectItemByValue(objSelect, objItemText) { //判斷是否存在 var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].text == objItemText) { objSelect.options[i].selected = true; isExit = true; break; } } //Show出結(jié)果 if (isExit) { alert("成功選中"); } else { alert("該select中 不存在該項(xiàng)"); } } // 7.設(shè)置select中value="paraValue"的Item為選中 objSelect.value = objItemValue; // 8.得到select的當(dāng)前選中項(xiàng)的value var currSelectValue = objSelect.value; // 9.得到select的當(dāng)前選中項(xiàng)的text var currSelectText = objSelect.options[document.all.objSelect.selectedIndex].text; // 10.得到select的當(dāng)前選中項(xiàng)的Index var currSelectIndex = objSelect.selectedIndex; // 11.清空select的項(xiàng) objSelect.options.length = 0;
整個(gè)實(shí)例的完整代碼如下:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>javascript select options text value</title> <meta name="keywords" content="javascript select options text value add modify delete set"> <meta name="description" content="javascript select options text value add modify delete set"> <script language="javascript"> <!-- // Author: i@lxl.cn // Modify: i@cnlei.com function watch_ini(){ // 初始 for(var i=0; i<arguments.length; i++){ var oOption=new Option(arguments[i],arguments[i]); document.getElementById("MySelect")[i]=oOption; } } function watch_add(f){ // 增加 var oOption=new Option(f.word.value,f.word.value); f.keywords[f.keywords.length]=oOption; } function watch_sel(f){ // 編輯 f.word.value = f.keywords[f.keywords.selectedIndex].text; } function watch_mod(f){ // 修改 f.keywords[f.keywords.selectedIndex].text = f.word.value; } function watch_del(f){ // 刪除 f.keywords.remove(f.keywords.selectedIndex); } function watch_set(f){ // 保存 var set = ""; for(var i=0; i<f.keywords.length; i++){ set += f.keywords[i].text + ";"; } confirm(set); } //--> </script> </head> <body> <form name="watch" method="post" action=""> <select id="MySelect" name="keywords" size="10" onchange="watch_sel(this.form)"></select><br> <script language="javascript"> <!-- watch_ini("我","你","妳","他","她","它","爾"); // 初始關(guān)鍵詞 //--> </script> <input type="text" name="word" /><br /> <input type="button" value="增加" onclick="watch_add(this.form);" /> <input type="button" value="修改" onclick="watch_mod(this.form);" /> <input type="button" value="刪除" onclick="watch_del(this.form);" /> <input type="button" value="保存" onclick="watch_set(this.form);" /> </form> </body> </html>
- jquery動(dòng)態(tài)添加以及遍歷option并獲取特定樣式名稱的option方法
- 利用js給datalist或select動(dòng)態(tài)添加option選項(xiàng)的方法
- jQuery動(dòng)態(tài)產(chǎn)生select option下拉列表
- JQuery動(dòng)態(tài)添加Select的Option元素實(shí)現(xiàn)方法
- JS 通過(guò)系統(tǒng)時(shí)間限定動(dòng)態(tài)添加 select option的實(shí)例代碼
- JS & JQuery 動(dòng)態(tài)添加 select option
- 動(dòng)態(tài)添加option及createElement使用示例
- jquery動(dòng)態(tài)添加option示例
- JS動(dòng)態(tài)添加與刪除select中的Option對(duì)象(示例代碼)
- 使用js對(duì)select動(dòng)態(tài)添加和刪除OPTION示例代碼
- JS動(dòng)態(tài)添加option和刪除option(附實(shí)例代碼)
- javascript 動(dòng)態(tài)設(shè)置已知select的option的value值的代碼
- javascript 動(dòng)態(tài)創(chuàng)建 Option選項(xiàng)
- js或jquery動(dòng)態(tài)輸出select option的實(shí)現(xiàn)代碼
相關(guān)文章
原生js提示框并自動(dòng)關(guān)閉(手工關(guān)閉)
今天在寫后臺(tái)交互的時(shí)候原來(lái)都是用alert太難看每次都需要點(diǎn)擊一下才可以,比較麻煩所以特整理了幾個(gè)比較好的js提示框代碼,方便提示一下2023-04-04layui操作列按鈕個(gè)數(shù)和文字顏色的判斷實(shí)例
今天小編就為大家分享一篇layui操作列按鈕個(gè)數(shù)和文字顏色的判斷實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09使用javascript實(shí)現(xiàn)雪花飄落的效果
本文主要介紹了使用javascript實(shí)現(xiàn)雪花飄落的特效,雖然網(wǎng)上有很多,不過(guò)都是比較陳舊了,兼容性不是太好,于是動(dòng)手寫一個(gè),把思路和實(shí)現(xiàn)代碼都分享給大家。2015-01-01JS實(shí)現(xiàn)textarea通過(guò)換行或者回車把多行數(shù)字分割成數(shù)組并且去掉數(shù)組中空的值
這篇文章主要介紹了JS實(shí)現(xiàn)textarea通過(guò)換行或者回車把多行數(shù)字分割成數(shù)組并且去掉數(shù)組中空的值的相關(guān)資料,需要的朋友可以參考下2018-10-10在Google 地圖上實(shí)現(xiàn)做的標(biāo)記相連接
這篇文章主要介紹了在Google 地圖上實(shí)現(xiàn)做的標(biāo)記相連接,需要的朋友可以參考下2015-01-01React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法
本文主要介紹了React+Typescript實(shí)現(xiàn)倒計(jì)時(shí)Hook的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09JS 兩日期相減,獲得天數(shù)的小例子(兼容IE,FF)
這篇文章介紹了兩日期相減,獲得天數(shù)的小例子,有需要的朋友可以參考一下2013-07-07微信小程序如何實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)功能詳解
這篇文章主要給大家介紹了關(guān)于微信小程序如何實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)功能的相關(guān)資料,包括頁(yè)面跳轉(zhuǎn)的方式、跳轉(zhuǎn)傳參的方法以及頁(yè)面返回的操作,通過(guò)簡(jiǎn)單的代碼示例,幫助讀者快速掌握微信小程序頁(yè)面跳轉(zhuǎn)的基本用法,下面需要的朋友可以參考下2023-03-03JavaScript學(xué)習(xí)總結(jié)(一) ECMAScript、BOM、DOM(核心、瀏覽器對(duì)象模型與文檔對(duì)象模型)
JavaScript是一種解釋執(zhí)行的腳本語(yǔ)言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類型,它遵循ECMAScript標(biāo)準(zhǔn)。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語(yǔ)言,主要用來(lái)給HTML增加動(dòng)態(tài)功能2018-01-01JavaScript中常用的數(shù)組過(guò)濾方法例子
這篇文章主要給大家介紹了關(guān)于JavaScript中常用的數(shù)組過(guò)濾方法的相關(guān)資料,數(shù)組過(guò)濾器方法是JavaScript中使用最廣泛的方法之一,它允許我們快速過(guò)濾出具有特定條件的數(shù)組中的元素,需要的朋友可以參考下2023-11-11