禁用选择后,OnChange功能将不起作用
The OnChange function do not work after having disabled the Select
我有一个包含2个选择的示例。一旦您更改了第一个中的某些内容,第二个(已禁用(应更改为已启用。到那里我没有问题。问题是,当你在第二个中更改某个内容时,网页应该打开。当我没有为"varurlmenu2"分配.disabled时,这很好,但当它被分配时就不起作用了。有人知道会发生什么吗?
这是HTML代码:
<select id="menu1" >
<option value="0" selected="selected" id="selected"> Select an option </option>
<optgroup label="Category1:">
<option value="1"> Option1 </option>
<option value="2"> Option2 </option>
<option value="3"> Option3 </option>
<option value="4"> Option4 </option>
</optgroup>
<optgroup label="Category2:">
<option value="5"> Option5 </option>
<option value="6"> Option6 </option>
<option value="7"> Option7 </option>
<option value="8"> Option8 </option>
<option value="9"> Option9 </option>
<option value="10"> Option10 </option>
<option value="11"> Option11 </option>
<option value="12"> Option12 </option>
<option value="13"> Option13 </option>
<option value="14"> Option14 </option>
<optgroup label="Category3:">
<option value="15"> Option15 </option>
</optgroup>
</select>
<select id="menu2">
<option value="0" selected="selected" id="selected2"> Select an option </option>
<option value="1" id="center">Home</option>
<option value="2" id="home">In the Center</option>
</select>
这是Javascript代码:
var urlmenu1 = document.getElementById('menu1');
**var urlmenu2 = document.getElementById('menu2').disabled=true;**
urlmenu1.onchange = function change1(){
if(urlmenu1.selectedIndex != 0){
**var urlmenu2 = document.getElementById('menu2').disabled=false;**
var selected = document.getElementById('selected').disabled=true;
}
if(urlmenu1.selectedIndex >= 1 && urlmenu1.selectedIndex <= 4) {
var opcion = document.getElementById('casa').disabled=false;
var seleccionado2 = document.getElementById('selected2').disabled=true;
}
if(urlmenu1.selectedIndex >= 6 && urlmenu1.selectedIndex <= 15){
var opcion = document.getElementById('home').disabled=true;
var selected2 = document.getElementById('selected2').disabled=true;
}
};
urlmenu2.onchange = function cahnge2(){
if(urlmenu1.selectedIndex == 1 && urlmenu2.selectedIndex==1){
window.open("http://www.google.com",'_self');
urlmenu1.selectedIndex = 0;
urlmenu2.selectedIndex = 0;
}
if(urlmenu1.selectedIndex == 2 && urlmenu2.selectedIndex==1){
window.open("http://www.yahoo.com",'_self');
urlmenu1.selectedIndex = 0;
urlmenu2.selectedIndex = 0;
}
etc... until 15
谢谢!
如果禁用字段,功能也会禁用。尝试手动触发更改事件。
urlmenu2.change();
urlmenu2.onchange = function() ....
我通过配置如下html代码来解决问题:selectid="menu2">disabled="true">我写的是true,而不是许多网站上评论的禁用。
现在出现了一个新问题。根据我在第一次选择中所做的更改的值,我想从第二次选择禁用选项"casa"或激活它。令人难以置信的是,正确禁用"var seleccionado"没有问题,但对于其他变量:seleccionado2或casita,它不起作用。你认为问题出在哪里?如果你看到"urlmenu1.onchange(casita.disabled=false(;",我甚至试图在你遇到Marcos时强制触发它,但我没有实现。
谢谢。这里的代码:
var urlmenu1 = document.getElementById('menu1');
var urlmenu2 = document.getElementById('menu2');
var desbloqueo = document.getElementById('bloqueo');
var casita = document.getElementById('casa');
urlmenu1.onchange = function change1(){
if(urlmenu1.selectedIndex !==0){
var urlmenu2 = document.getElementById('menu2').disabled=false;
var seleccionado = document.getElementById('selected').disabled=true;
desbloqueo.style.display ='none';
}
if(urlmenu1.selectedIndex >= 1 && urlmenu1.selectedIndex <= 4) {
var seleccionado2 = document.getElementById('selected2').disabled=true;
urlmenu1.onchange(casita.disabled=false);
}
if(urlmenu1.selectedIndex >= 6 && urlmenu1.selectedIndex <= 15){
urlmenu1.onchange(casita.disabled=true);
var seleccionado2 = document.getElementById('selected2').disabled=true;
}
};
相关文章:
- 使用复杂数组时Jquery自动完成功能不起作用
- 切换功能不起作用
- 为什么不是'我的修剪功能不起作用
- Angular UI Select2指令搜索功能不起作用
- AngularJS 路由功能不起作用
- JavaScript更新功能不起作用
- JS表单验证功能不起作用
- 复选框树视图功能不起作用
- Web音频-AudioParam调度功能不起作用
- 复选框单击功能不起作用
- jQuery加载函数后,jQuery UI自动完成功能不起作用
- 按下空格键一次后,Jquery功能不起作用
- jquery ajax调用后,表分类器功能不起作用
- jquery对话框可拖动功能不起作用
- 我的数字检查器功能不起作用,为什么
- 隐藏/显示加载功能不起作用
- .slideToggle-on.click功能不起作用
- 验证功能不起作用
- 在我的项目中,添加、删除和编辑功能不起作用
- Onsubmit功能不起作用