首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查动态创建的下拉框的选定值

检查动态创建的下拉框的选定值
EN

Stack Overflow用户
提问于 2013-02-28 02:32:06
回答 1查看 880关注 0票数 0

我正在向表中动态添加行。每一行都有输入字段,以及下拉字段。当我在下拉列表中选择'Other‘时,我想禁用注释字段。如何检查动态添加行的下拉框?

以下是我的代码。行插入可以正常工作,但是我不知道如何检查下拉框的选定值。

代码语言:javascript
复制
<script language="javascript" type="text/javascript">
function addRow() {
   var tbl = document.getElementById('tblSample');
   var lastRow = tbl.rows.length;   
   var iteration = lastRow;
   var row = tbl.insertRow(lastRow);

   var cellLeft = row.insertCell(0);
   var textNode = document.createTextNode(iteration-3);
   cellLeft.appendChild(textNode);

   var cellRightSel = row.insertCell(1);
   var sel = document.createElement('select');
   sel.name = 'LOCsel' + iteration;
   sel.options[0] = new Option('---Any---', '0');
   sel.options[1] = new Option('Level 0.5: Early Intervention', '1');
   sel.options[2] = new Option('Level I: Outpatient', '2');
   sel.options[3] = new Option('Level I.D: Outpatient-Detox', '3');
   sel.options[4] = new Option('Level II.1: Intensive Outpatient', '4');
   sel.options[5] = new Option('Level II.5: Partial Hospitalization', '5');
   sel.options[6] = new Option('Level II.D: IOP-Detox', '6');
   sel.options[7] = new Option('Level III.1: Halfway House', '7');
   sel.options[8] = new Option('Level III.3: Long-Term Residential Care', '8');
   sel.options[9] = new Option('Level III.5: Therapeutic Community', '9');
   sel.options[10] = new Option('Level III.7: Medically Monitoried Inpatient(ICF)', '10');
   sel.options[11] = new Option('Level III.7.D: Med.Mon.Inpatient(ICF)-Detox', '11');
   sel.options[12] = new Option('Other', '12');
   cellRightSel.appendChild(sel);

   var cellRights = row.insertCell(2);
   var els = document.createElement('input');
   els.type = 'text';
   els.name = 'Comments' + iteration;
   els.id = 'Comments' + iteration;
   els.size = 30;
   cellRights.appendChild(els);

   var cell8 = row.insertCell(9);            
   var element8 = document.createElement('input');            
   element8.type = 'text';            
   element8.name = 'txtRow'+ iteration;
   element8.id = 'txtRow'+ iteration;
   cell8.appendChild(element8);
   element8.size = 20;
   }

function validateLOC(){
   var table = document.getElementById('tblSample');
   var rowCount = table.rows.length;

   for (var i=0; i < rowCount; i++) {
var loc = table.rows[i].cells[1].getElementById('LOCsel')[i];
var strUser = loc.options[loc.selectedIndex].text;      
if (strUser = 'Other'){
   document.getElementById('Comments').disabled = true;
   document.getElementById('Comments').style.backgroundColor = '#cccccc';
   rowCount--;
    i;
}
else {
   document.getElementById('Comments').disabled = false;
   rowCount--;
   i;
}
    return true;
}
 }
 </script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 02:47:58

首先通过添加以下内容给出选择框和id:

sel.id = 'LOCsel‘+迭代;

然后将onclick事件处理程序添加到每个选择框:

sel.onclick =函数() {

代码语言:javascript
复制
 onLOCSelected(iteration);

};

然后添加此函数:

function onLOCSelected(uniqueID)

{

代码语言:javascript
复制
 //Using the uniqueID (iteration as you called it)
代码语言:javascript
复制
 //Evaluate the value of selected item & toggle the comments input accordingly

}

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15119582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档