Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 如何在没有jQuery的情况下启用所有禁用的表单选择选项?_Javascript_Html_Forms_Select_Options - Fatal编程技术网

Javascript 如何在没有jQuery的情况下启用所有禁用的表单选择选项?

Javascript 如何在没有jQuery的情况下启用所有禁用的表单选择选项?,javascript,html,forms,select,options,Javascript,Html,Forms,Select,Options,我有一个带有一些select元素的HTML表单。每个元素中的一个选项最初已禁用。例如: <label>Amount: <select name="amount"> <option selected value='0'>Any</option> <option value="1">100+</option> <option value="2">200+</option>

我有一个带有一些select元素的HTML表单。每个元素中的一个选项最初已禁用。例如:

<label>Amount: <select name="amount">
    <option selected value='0'>Any</option>
    <option value="1">100+</option>
    <option value="2">200+</option>
    <option value="3">500+</option>
    <option disabled value="4">Specify</option>
</select></label>
金额:
任何
100+
200+
500+
具体说明

我需要使用javascript启用它们。有没有一种不使用jQuery就针对这些元素的好方法?

这将处理所有禁用的元素,而且很简单

您可以这样做:

var elems = document.querySelectorAll('[disabled]'); // target all disabled elemnts
for (var i = 0; i < elems.length; i++) {
    elems[i].removeAttribute('disabled'); // enable them.
}
var elems=document.querySelectorAll('[disabled]');//目标是所有禁用的元素
对于(变量i=0;i

这将处理所有禁用的元素,并且非常简单

您可以这样做:

var elems = document.querySelectorAll('[disabled]'); // target all disabled elemnts
for (var i = 0; i < elems.length; i++) {
    elems[i].removeAttribute('disabled'); // enable them.
}
var elems=document.querySelectorAll('[disabled]');//目标是所有禁用的元素
对于(变量i=0;i
JS:

var ddl = document.getElementsByTagName("select");
for (var m = 0; m < ddl.length; m++) {
   for (var i = 0; i < ddl[m].length; i++) {
      ddl[m].options[i].disabled = false;
   }
}
var ddl=document.getElementsByTagName(“选择”);
对于(var m=0;m
.

JS:

var ddl = document.getElementsByTagName("select");
for (var m = 0; m < ddl.length; m++) {
   for (var i = 0; i < ddl[m].length; i++) {
      ddl[m].options[i].disabled = false;
   }
}
var ddl=document.getElementsByTagName(“选择”);
对于(var m=0;m

.

如果要启用文档中的每个选项元素,可以执行以下操作:

var options = document.getElementsByTagName('option');
for (var i=0, iLen=options.length; i<iLen; i++) {
  options[i].disabled = false;
}

如果要启用文档中的每个选项元素,可以执行以下操作:

var options = document.getElementsByTagName('option');
for (var i=0, iLen=options.length; i<iLen; i++) {
  options[i].disabled = false;
}

document.querySelectorAll
非常适合现代浏览器(只需检查禁用属性)。针对较老的浏览器?是的,我注意到它只适用于现代浏览器。然后,我将为现代浏览器提供检测和使用Amit的功能,并提供类似Rob的回退功能。看,即使在IE8中也支持querySelectorAll。
document。querySelectorAll
对于现代浏览器非常好(只需检查禁用属性)。针对较老的浏览器?是的,我注意到它只适用于现代浏览器。然后,我会在现代浏览器中使用Amit的功能检测和使用,在旧浏览器中使用Rob的后备功能。看,即使在IE8中也支持querySelectorAll。我有一些选择元素,而不仅仅是这个。RobG的解决方案会更好,因为这两个元素都在所有选项中循环+我有一些选择元素,而不仅仅是这一个。罗布的解决方案会更好,因为两者都在所有选项中循环+1.此功能支持率为92%。我想我会选择你的,因为它效率高。谢谢。很高兴能帮上忙“92%支持”是什么意思p此功能得到92%的支持。我想我会选择你的,因为它效率高。谢谢。很高兴能帮上忙“92%支持”是什么意思P