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