3
A
回答
2
您可以在不使用JavaScript的情況下對HTML元素中的元素進行分組和禁用元素。像下面這樣的東西應該工作:
<select name="foo">
<optgroup label="Odds">
<option value="1">1</option>
<option value="3">3</option>
<option value="5">5</option>
</optgroup>
<optgroup label="Evens">
<option value="2">2</option>
<option value="4">4</option>
<option value="6" disabled="disabled">6</option>
</optgroup>
</select>
在Firebug的簡單檢查顯示,谷歌在編造自己的下拉框HTML的一大堆和一些聰明的CSS。就我個人而言,我認爲採取「正確」的方法並將其設計得看起來更漂亮,比在這裏重新發明輪子更可讀。
0
你想要一個無序列表的彈出菜單/下拉菜單。
3
響應於羅布,其原因不使用禁用是IE。
之所以這樣,是不是一個好主意是IE仍然不支持這個在IE6,IE7或IE8。
http://webbugtrack.blogspot.com/2007/11/bug-293-cant-disable-options-in-ie.html
3
心中已經一直在尋找類似的東西,這是我的解決方案。你需要顯示/隱藏圖標,添加CSS和JavaScript(在這個例子中是jQuery)。它顯示/隱藏菜單,但可以是任何內部.hide div。
CSS:
.shortasc { background: url("/css/asc.gif") no-repeat 50% 50%;cursor:pointer;}
.shortdesc { background: url("/css/desc.gif") no-repeat 50% 50%;cursor:pointer;}
.hide{ display:none;}
.toggle-menu .title {
text-align:left;
}
.toggle-menu div.more{
position: absolute;
border:#999999 1px solid;
background-color:#FFFFFF;
}
.toggle-menu div.more ul{margin:0; padding:2px; text-align:left;}
.toggle-menu div.more ul li{list-style:none; padding:2px; border:#CCCCCC 1px solid;}
HTML至極調用一個jQuery功能:
<span class="toggle-menu">
<span class="title" onclick="$(this).win('togglewin');">titulo del menu</span><span class="orden shortasc"> </span>
<div class="more hide">
<ul>
<li>Enlace 1</li>
<li>Enlace 2</li>
<li>and so on</li>
</ul>
</div>
</span>
add方法jQuery函數或編輯在標題中添加onClick事件或創建你的函數,或什麼的,這是具有jQuery函數http://docs.jquery.com/Plugins/Authoring#Getting_Started一個例子:
(function($) {
var methods={
//... your functions
togglewin:function(){
var p = $(this).position();
var parent = (this).closest('.toggle-menu');
if(parent.find('.more').is(':visible')){
parent.find('.orden').removeClass('shortdesc').addClass('shortasc');
parent.find('.more').slideUp();
}else{
parent.find('.orden').removeClass('shortasc').addClass('shortdesc');
parent.find('.more').slideDown().offset({ top:p.top+12,left:p.left });
}
return this;
}
};
$.fn.win = function(method) {
if (methods[method]) {
return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || ! method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' inexistente en jQuery.win');
}
}
})(jQuery);
對不起,我無法uploa d圖像,但我喜歡結果。
相關問題
- 1. 使用jQuery下拉操作
- 2. 在選擇操作中使用多級下拉菜單
- 3. 如何在操作欄中實現多個下拉菜單?
- 4. 在mailchimp模板中使用gmail操作?
- 5. 添加更多下拉框
- 6. MVC5中的JQuery下拉更改操作
- 7. 如何在春天使用下拉框
- 8. 如何在MVC中的下拉更改中調用操作名稱?
- 9. PhantomJS中的下拉操作
- 10. 使用datagridview和下拉列表操作
- 11. 如何根據另一個下拉框在下拉框中製作列表?
- 12. 如何使用jQuery從多個下拉框中獲取總數?
- 13. 下拉框和按鈕的Gmail一樣
- 14. ASP.NET MVC:如何發佈下拉框的值來操作?
- 15. 如何觸發「下拉列表」的下拉操作?
- 16. Php變量在下拉框的聲明中的操作
- 17. 如何在我的下拉框中對所選名稱執行操作
- 18. 如何使下拉多選
- 19. 在MVC3中使用下拉列表和操作
- 20. 如何使下拉框和文本框出現點擊時添加更多
- 21. 如何獲得多選下拉框?
- 22. 在下拉框中使用.change()
- 23. 在JSP代碼中使用下拉框
- 24. 使用下拉值更新文本框在IE中不起作用[JavaScript]
- 25. 級聯下拉列表 - 如何暫時禁用更改事件在下拉操作選項
- 26. 如何在iPhone中的下拉框中選擇多個項目?
- 27. 如何使用下拉框更改樣式表?
- 28. 如何使用Javascript更改下拉組合框值
- 29. 如何更換使用複選框下拉
- 30. 如何使用Javascript/jQuery比較多個下拉框的值?
分組是,禁用否(請參閱下面的答案) – scunliffe 2008-11-29 18:13:47