动态删除、创建select
2012-10-24 15:39
176 查看
//创建select
var newOper=document.createElement("<select id='mid_"+j+"' onChange='clickS("+j+")'></select>");
[b]newOper.length=5;//设置长度为5[/b]
//赋值
newOper.options[0] = new Option("11", "dd");
new
//添加新的option
newOper.options.add(new Option(“66”,“66”));
删除option
newOper.options.remove(1);
//设置长度为0
newOper.options.length=0;
var selectI= document.getElementById("mid").selectedIndex;//获得是第几个被选中了
var selectT = document.getElementById("mid").options[selectIndex].text //获得被选中的项目的文本
//删除id
if(document.getElementById("mid")){ //判断是否存在
var nodeS=document.getElementById("mid");
//因为id本身的对象不能删除自己 ,所以要先通过 nodeS.parentNode得到父节点,然后把本id对象传入进行删除.
nodeS.parentNode.removeChild(nodeS);
}
例
function clickS(i){
var TheArray = new Array("class_type","parent_id","class_name","class_path");
//点击时,判断这个select后面是否已有别的select,有则全部删除
if(i<TheArray.length-1){
for(var m=i+1;m<TheArray.length;m++){
if(document.getElementById("mid_"+m)){
var nodeS=document.getElementById("mid_"+m);
//因为id本身的对象不能删除自己 ,所以要先通过 nodeS.parentNode得到父节点,然后把本id对象传入进行删除.
nodeS.parentNode.removeChild(nodeS);
}
}
}
var selectValue=document.getElementById("mid_"+i).value;
//判断是否为最后一个,根据传递的参数从后台读取下一个select存在,存在创建
if(i<TheArray.length-1){
var oper = [{
actionName : "selectN",
count : 1,
operationDatas : [{
selectValue : selectValue,
dataNow:TheArray[i],
dataNext:TheArray[i+1]
}]
}];
var params = com.sinosoft.common.Assistant
.getParams(
com.sinosoft.lz.system.user.LoginInfo
.getUserId(),
'123', Ext.encode(oper));
var url = '/'
+ SysParameter.getProjectName()
+ '/ep/umcSelect/UmcSelectService/selectNext';
com.sinosoft.common.uitls.Request.query(url,params,function(response,options){
var responseT=Ext.util.JSON.decode(response.responseText);
var array = responseT.ResponseMessage.operations[0].operationDatas;
if(responseT.ResponseMessage.success==true){
var j=i+1;
addSearch1(j,array);
}else{
alert('木有子项');
}
});
}
}
function addSearch1(j,array){
var newOper=document.createElement("<select id='mid_"+j+"' onChange='clickS("+j+")'></select>");
newOper.length = array.length;
for(var k=0;k<array.length;k++){
newOper.options[k] = new Option(array[k].es.v, array[k].es.v);
}
document.getElementById("dd").insertBefore(newOper);
}
</script>
</head>
<body style="overflow-x:hidden; margin:0 auto; padding:0; ">
<div id="dd">
<select id="mid_0" onChange="clickS(0)">
<option value="0">请选择</option>
<option value="中药">中药</option>
<option value="西药">西药</option>
<option value="其他">其他</option>
<option value="hehe">hehe</option>
</select>
</div>
</body>
</html>
var newOper=document.createElement("<select id='mid_"+j+"' onChange='clickS("+j+")'></select>");
[b]newOper.length=5;//设置长度为5[/b]
//赋值
newOper.options[0] = new Option("11", "dd");
new
//添加新的option
newOper.options.add(new Option(“66”,“66”));
删除option
newOper.options.remove(1);
//设置长度为0
newOper.options.length=0;
var selectI= document.getElementById("mid").selectedIndex;//获得是第几个被选中了
var selectT = document.getElementById("mid").options[selectIndex].text //获得被选中的项目的文本
//删除id
if(document.getElementById("mid")){ //判断是否存在
var nodeS=document.getElementById("mid");
//因为id本身的对象不能删除自己 ,所以要先通过 nodeS.parentNode得到父节点,然后把本id对象传入进行删除.
nodeS.parentNode.removeChild(nodeS);
}
例
function clickS(i){
var TheArray = new Array("class_type","parent_id","class_name","class_path");
//点击时,判断这个select后面是否已有别的select,有则全部删除
if(i<TheArray.length-1){
for(var m=i+1;m<TheArray.length;m++){
if(document.getElementById("mid_"+m)){
var nodeS=document.getElementById("mid_"+m);
//因为id本身的对象不能删除自己 ,所以要先通过 nodeS.parentNode得到父节点,然后把本id对象传入进行删除.
nodeS.parentNode.removeChild(nodeS);
}
}
}
var selectValue=document.getElementById("mid_"+i).value;
//判断是否为最后一个,根据传递的参数从后台读取下一个select存在,存在创建
if(i<TheArray.length-1){
var oper = [{
actionName : "selectN",
count : 1,
operationDatas : [{
selectValue : selectValue,
dataNow:TheArray[i],
dataNext:TheArray[i+1]
}]
}];
var params = com.sinosoft.common.Assistant
.getParams(
com.sinosoft.lz.system.user.LoginInfo
.getUserId(),
'123', Ext.encode(oper));
var url = '/'
+ SysParameter.getProjectName()
+ '/ep/umcSelect/UmcSelectService/selectNext';
com.sinosoft.common.uitls.Request.query(url,params,function(response,options){
var responseT=Ext.util.JSON.decode(response.responseText);
var array = responseT.ResponseMessage.operations[0].operationDatas;
if(responseT.ResponseMessage.success==true){
var j=i+1;
addSearch1(j,array);
}else{
alert('木有子项');
}
});
}
}
function addSearch1(j,array){
var newOper=document.createElement("<select id='mid_"+j+"' onChange='clickS("+j+")'></select>");
newOper.length = array.length;
for(var k=0;k<array.length;k++){
newOper.options[k] = new Option(array[k].es.v, array[k].es.v);
}
document.getElementById("dd").insertBefore(newOper);
}
</script>
</head>
<body style="overflow-x:hidden; margin:0 auto; padding:0; ">
<div id="dd">
<select id="mid_0" onChange="clickS(0)">
<option value="0">请选择</option>
<option value="中药">中药</option>
<option value="西药">西药</option>
<option value="其他">其他</option>
<option value="hehe">hehe</option>
</select>
</div>
</body>
</html>
相关文章推荐
- JS操作select下拉框动态变动(创建/删除/获取)
- JS操作select下拉框动态变动(创建/删除/获取)
- JS操作select下拉框动态变动(创建/删除/获取)
- JS操作select下拉框动态变动(创建/删除/获取)
- JS操作select下拉框动态变动(创建/删除/获取)
- C++二维动态数组的创建与删除
- dom动态创建、删除元素
- javascript动态创建及删除元素的方法
- js动态创建 select选择框
- [RTT例程练习] 1.1 动态线程创建,删除
- 基于dom编程中 动态创建与删除元素的使用
- 点击动态创建表格、单行删除、全选、全部一键删除
- orcle 根据时间 动态删除原表数据,调用动态创建表函数。插入新表数据
- ASP+ACCESS动态创建表,添加修改删除字段
- FreeRTOS动态创建任务和删除任务
- 动态创建select-option
- DHTML技术演示---动态创建表格、删除表格(详细的解释,适合初学者)
- [RTT例程练习] 1.1 动态线程创建,删除
- c++ 动态二维数组的创建和删除