我是java-script的初学者,我在这里正在做的是尝试让我的组合框命名为" dale"当我选择"特定原因分类时启用和禁用"来自我的组合框" repSelect"但我一直在我的java脚本上收到错误。
function makeEnable(value){ if(value=="rep4"){ var x=document.getElementById("dale") x.disabled=false }else{ var x=document.getElementById("dale") x.disabled=true } } </script> </script> <select onChange="makeEnable(value)" name="repSelect"> <option value="rep1">Employee</option> <option value="rep2">Category Reasons Overall </option> <option value="rep3">Department Overall </option> <option value="rep4">Reasons Specific Categorized </option>
</select> <select name="dale"> <option value="rep1">dale</option> </select> <input class="button" type="submit" value="Generar Reporte" >
</form>
我的修改但是工作
function makeEnable(){ var e = document.getElementById("repSelect"); var strUser = e.options[e.selectedIndex].value; if(strUser=="rep4"){ document.getElementById("dale").disabled=false; }else{ document.getElementById("dale").disabled=true; } }
答案 0 :(得分:1)
您正在使用.getElementById()
方法,但您的元素没有定义ID。在html中添加一个id:
<select id="dale" name="dale">
您可能还需要在第一个选择的onchange
处理程序中修改对您的函数的调用,以便传递this.value
而不仅仅是value
:
<select onChange="makeEnable(this.value)" name="repSelect">
您还可以按如下方式大幅简化您的功能:
function makeEnable(value){
document.getElementById("dale").disabled = value!="rep4";
}
演示:http://jsfiddle.net/3t16p5p9/
编辑:我刚注意到你的问题上有jquery标签。要使用jQuery,请删除内联onChange=
属性,然后将其添加到脚本中:
$(document).ready(function() {
$("select[name=repSelect]").change(function() {
$("#dale").prop("disabled", this.value!="rep4");
}).change();
});
这会将更改处理程序绑定到第一个选择,然后立即调用它,以便在页面加载时正确启用或禁用第二个选择(如注释中所请求的那样)。
答案 1 :(得分:0)
实际上你正在使用document.getElementById,但你的组合框没有Id。
这就是它不起作用的原因。
不要在html中添加onchange,而是使用如下:
<select id='repselect' onchange=makeEnable() name="repSelect">
<option value="rep1">Employee</option>
<option value="rep2">Category Reasons Overall </option>
<option value="rep3">Department Overall </option>
<option value="rep4">Reasons Specific Categorized </option>
</select>
<select id="seldale" name="dale">
<option value="rep1">dale</option>
</select>
<input class="button" type="submit" value="Generar Reporte"/>
$('#repselect').change(function(){
if(this.value=="rep4"){
var x= document.getElementById("seldale")
x.disabled=false
}else{
var x =document.getElementById("seldale")
x.disabled=true
}
});