<select name="type" id="type" disabled="disabled" onchange="setDelType(this)"> <option value="1">1-分区表</option> <option value="2" selected="selected">2-普通表</option> </select>下拉菜单的值通过JS更改:
... tableType = getTableType(DNS, port, DBName, tableName); if(tableType == 1){ $("#type").val("1"); }else if (tableType == 2){ $("#type").val("2"); } ...结果发现下拉菜单的值发生变化时setDelType(this)并未被调用。原来,通过JS来改变select的值时不会触发其onchange事件的。只有通过鼠标或键盘操作,而且选择的值不同于原始值时才会触发该事件。若需通过JS改变select的值并触发onchange事件需要在代码中显式的触发一下。
... tableType = getTableType(DNS, port, DBName, tableName); if(tableType == 1){ $("#type").val("1"); $("#type").change(); }else if (tableType == 2){ $("#type").val("2"); $("#type").change(); } ...
或者:
... tableType = getTableType(DNS, port, DBName, tableName); if(tableType == 1){ $("#type").val("1").change(); }else if (tableType == 2){ $("#type").val("2").change(); } ...
原文:http://blog.csdn.net/zyz511919766/article/details/39580127