Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止使用javascript在dropdowlist中选择项?_Javascript_Asp.net_Jquery - Fatal编程技术网

如何防止使用javascript在dropdowlist中选择项?

如何防止使用javascript在dropdowlist中选择项?,javascript,asp.net,jquery,Javascript,Asp.net,Jquery,我想阻止用户使用javascript方法选择下拉列表项。还有没有使用OnMouseKeyDown,这样我就可以停在那里了。我不想使用Enable=false Javascripts大师,帮帮我 onfocus="this.blur()" 将其添加到元素中让我们在c中尝试一下 string hardcode = "1"; // set as appropriate myDropDownList.Attributes["onchange"] = "this.selectedIndex = " +

我想阻止用户使用javascript方法选择下拉列表项。还有没有使用OnMouseKeyDown,这样我就可以停在那里了。我不想使用Enable=false

Javascripts大师,帮帮我

onfocus="this.blur()"
将其添加到元素中

让我们在c中尝试一下

string hardcode = "1"; // set as appropriate
myDropDownList.Attributes["onchange"] = "this.selectedIndex = " + hardcode + ";";

请记住,如果您的用户禁用了javascript,这将不起作用,无论发生什么情况,您都应该在服务器上进行验证。

如果您希望用户能够打开选择框但不更改选择,则可以执行以下操作:

<select onchange="this[0].selected = true">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
将所选索引更改为要保持选中状态的项目。作为旁注,从用户界面的角度来看,这通常不是一个好主意

使用jquery

HTML:


如果您不希望用户从选择元素中选择某个控件,则可能需要考虑不同的控件。否则,您能否提供有关您的场景的更多详细信息?我正在尝试禁用ddl,但当我这样做时。字体正在更改,看起来很模糊。这就是为什么我想阻止用户根据他的权限选择下拉菜单。我想阻止用户根据他的权限选择下拉菜单为什么要渲染它?是的,我要选择一个不同的控件。选择元素的外观为用户创造了某种期望,这与您试图给他们的期望不同。从可用性的角度来看,这真的很糟糕。您选择项目4,它将选择项目1。不好所选项目将已存在。只是用户看到了不可选择的数据。@Marko当然可以,但这是我能想到的最不痛苦的方法。
<select id="dropdown">
   <option>Select an option</option>
   <option>Option 1</option>
   <option>Option 2</option>
   <option>Option 3</option>
 </select>
$(function(){
    $("#dropdown").change(function(){
        $(this).find("option:first").attr("selected", "selected");
        return false;
    });
});