2011-11-29 23 views
20

我怎样才能使选择标签只读?我读过你不能将select设置为只读。我这样做,我可以将其设置为禁用,但...这不是一个选项。我想用户查看在选择标签其余的选项,但不能够选择其中之一..在html中禁用/只读选择标签

任何想法?

+3

有什么意义假只读允许用户查看所有选项,但不允许他/她选择任何选项? – dhblah

+25

我不知道老兄。我只是程序员。询问愚蠢的用户。 :-( – Tiwaz89

+2

@Relborg,我笑得那么厉害,我的同事给了我一个奇怪的样子。 –

回答

33

您可以使用禁用的属性。例如

<select > 
    <option disabled="disabled" value="volvo">Volvo</option> 
    <option disabled="disabled" value="saab">Saab</option> 
    <option disabled="disabled" value="mercedes">Mercedes</option> 
    <option disabled="disabled" value="audi">Audi</option> 
</select> 
+1

我看..设置每个选项标记为已禁用,而不是禁用整个选择标签。感谢您的帮助Saifuddin。真的很感激 – Tiwaz89

+1

这防止所选择的值,从与所述表单提交,虽然。 –

+0

@ButtleButkus是,你是对。在一个形式禁用的元件将不提交而禁用属性将不与所以隐藏工作字段将被用于代替选定的值 –

10

假设标签id = “mySelectID”,和jQuery是常驻,则:

<script language="javascript"> 
// disable all the options that are not in use: 
$("#mySelectID option").not(":selected").attr("disabled", "disabled"); 

// to remove readonly, enable them again: 
$("#mySelectID option").not(":selected").attr("disabled", ""); 
</script> 
+1

jQuery的现在属性和特性区分,所以你也可以这样做:'$(selector).prop('disabled',true)'Details:http://api.jquery.com/prop/ –

0

我使用的选定的禁用选项值的标签。

这将有助于提示用户选择一个选项的目的,同时禁用了该选项。

例子:

<option selected disabled>-Select-</option> 
0

你可以把它加入style="pointer-events:none;"