主頁 > 知識庫 > 使select在選中/聚焦時列出所有選項目前比較好的處理方式

使select在選中/聚焦時列出所有選項目前比較好的處理方式

熱門標(biāo)簽:新鄉(xiāng)機器人外呼系統(tǒng) 青海保險智能外呼系統(tǒng)商家 最簡單的百度地圖標(biāo)注店鋪 水經(jīng)注萬能地圖標(biāo)注 AI外呼系統(tǒng) 價格 錦州企業(yè)外呼系統(tǒng) 營口400電話申請 梧州地圖標(biāo)注app 禹州電話外呼系統(tǒng)
在開發(fā)中,遇到這樣一個需求情況,因此記錄下來以備用

需求背景

在頁面上使用快捷鍵盤快捷定位到支付方式選擇框(一個下拉列表)并進(jìn)行選擇。

技術(shù)難點

目前瀏覽器并不支持通過代碼定位下拉列表時就列出其下所有選項,只能通過鼠標(biāo)點擊。

在網(wǎng)上找了些資料后,得出目前比較好的處理方式;

利用select的size屬性,配合盒子布局的position屬性來實現(xiàn),具體代碼如下:

復(fù)制代碼
代碼如下:

<td align="right">
支付方式:
</td>
<td style="padding:0px;vertical-align:top;">
<!-- 這里必須用div包著select,否則在ff下不兼容 -->
<span style="color:#ff0000"><div style="position:relative;padding:1px;">
</span> <select id="payType" name="payType" style="position:absolute;" onfocus="expand(this)" onblur="unexpand(this)">
<option>人民幣</option>
<option>美元</option>
<option>信用卡</option>
<option>港幣</option>
<option>港幣</option>
</select>
<span style="color:#ff0000"></div>
</span></td>

expand和unexpand方法都很簡單:

復(fù)制代碼
代碼如下:

function expand(obj){
$(obj).attr("size","10");
}
function unexpand(obj){
$(obj).attr("size","1");
}

把select的position設(shè)置為absolute,使其不影響dom的流布局。再把其容器的position設(shè)置為relative,使select根據(jù)其容器來定位。

這里需要注意的是在table元素中必須使用div作為select的容器,因為根據(jù)w3c的css標(biāo)準(zhǔn),在table相關(guān)元素設(shè)置position:relative是未定義的,所以在ff下select元素會直接根據(jù)body元素來定位。

參考的資料:

http://www.php-insite.com/autoexpand_select.html 直接查看頁面源代碼
http://bbs.csdn.net/topics/330158935 留意lingshuo1993的回答

標(biāo)簽:青島 懷化 延邊 哈密 昭通 山南 潮州 荊門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使select在選中/聚焦時列出所有選項目前比較好的處理方式》,本文關(guān)鍵詞  使,select,在,選中,聚焦,時,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使select在選中/聚焦時列出所有選項目前比較好的處理方式》相關(guān)的同類信息!
  • 本頁收集關(guān)于使select在選中/聚焦時列出所有選項目前比較好的處理方式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章