本文針對開發項目中遇到的問題,進行了匯總
問題1:如何選擇select的option里面的值?
首先會用到一個方法 onchange();這個方法主要用于觸發,選擇框內容改變時間
實現代碼:
<!doctype html><html><head lang="en"> <meta charset="UTF-8"></head><body> <select onchange="test(event)"> <option>安靜</option> <option>晴天</option> <option>七里香</option> </select> <script type="text/javascript"> function test (e) { var e = event ? event : window.event; alert(e.target.value); } </script></body></html>
問題2:可是在開發中,我們一般選擇了內容只是為了顯示,而真正要做的是和后臺進行交互數據傳輸,這時候,我們為了盡可能減少http數據傳輸,所以一般會傳 id 等作為數據傳輸標志,如何做?
開發中,option一般都是動態創建的,那么這時候,我們只需要給你動態創建一個自定義屬性。那么如何獲取自定義屬性呢?
<!doctype html><html><head lang="en"> <meta charset="UTF-8"></head><body> <select onchange="test(event)" id="sel"></select> <script type="text/javascript"> //定義內容的json數據,一般從后臺獲取 var data = [ { name: '晴天', id: '1' }, { name: '安靜', id: '2' }, { name: '七里香', id: '3' } ]; createOption('sel',data); //創建option function createOption(parentId, data){ var parentId = document.getElementById(parentId); for(var i=0; i<data.length; i++){ var opt = document.createElement('option'); //設置option的值 opt.innerHTML = data[i].name; //定義option的自定義值 opt.setAttribute('dataid', data[i].id); parentId.appendChild(opt); } } //選取自定義屬性的方法 function test (e) { var e = event ? event : window.event; var target = e.target; var index = target.selectedIndex; alert("我的id="+target[index].getAttribute('dataid')); } </script></body></html>
結果圖如下:
如果大家還想深入學習,可以點擊jquery下拉框效果匯總、JavaScript下拉框效果匯總進行學習。
這就是我在開發中遇到的問題,希望可以對大家的學習有所啟發。
新聞熱點
疑難解答