Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个下拉列表和单选按钮_Javascript_Html - Fatal编程技术网

Javascript 多个下拉列表和单选按钮

Javascript 多个下拉列表和单选按钮,javascript,html,Javascript,Html,我这里有两个关于香草JavaScript的问题。我不能使用jQuery 一,。创建多个下拉列表 我有一个JavaScript函数: function loadTheDropdowns() { var oTxt; for (var i = 0; i < 11; ++i) { var oEle = document.createElement('option'); if (i == 0) { oTxt = document

我这里有两个关于香草JavaScript的问题。我不能使用jQuery

一,。创建多个下拉列表

我有一个JavaScript函数:

function loadTheDropdowns() {
    var oTxt;
    for (var i = 0; i < 11; ++i) {
        var oEle = document.createElement('option');
        if (i == 0) {
            oTxt = document.createTextNode("select your tenure");
            oEle.setAttribute('disabled', 'disabled');
            oEle.setAttribute('selected', 'selected');
            oEle.appendChild(oTxt);
        } else {
            oTxt = document.createTextNode(i);
            oEle.appendChild(oTxt);
        }
        document.getElementById('compTenure').appendChild(oEle);
        document.getElementById('posTenure').appendChild(oEle);
    }
}
问题是,它只检查是否选中了第一个单选按钮。如果我删除该[0],它将向RB not check发出警报,即使我正在选择单选按钮


如何解决这个问题?

第一个答案:这是一个变量引用问题。您必须创建两个不同的oEle元素或使用oEle.cloneNode;像

第二个答案:只取第一个复选框元素,必须像这样循环它们:

function check(name) {
     var cprb = document.getElementsByName(name);
     for(var i = 0; i<cprb.length;i++){
        if(cprb[i].checked)
          return true;
     }
}
function validate() {
     if(!check('cprb1') && !check('cprb2') && !check('cprb3') && !check('cprb4') && !check('cprb5') && !check('cprb6'))
         alert("RB not check");
}

第一个答案:这是一个变量参考问题。您必须创建两个不同的oEle元素或使用oEle.cloneNode;像

第二个答案:只取第一个复选框元素,必须像这样循环它们:

function check(name) {
     var cprb = document.getElementsByName(name);
     for(var i = 0; i<cprb.length;i++){
        if(cprb[i].checked)
          return true;
     }
}
function validate() {
     if(!check('cprb1') && !check('cprb2') && !check('cprb3') && !check('cprb4') && !check('cprb5') && !check('cprb6'))
         alert("RB not check");
}

对于第一个问题,将option元素附加到第一个下拉列表后,可以创建option元素的克隆并附加到第二个下拉列表。如果不克隆,则option元素始终附加到第二个下拉列表,而第一个下拉列表为空

window.onload=函数{loadDropDowns;} 函数加载下拉列表{ var-oTxt; 对于变量i=0;i<11;++i{ var oEle=document.createElement'option'; 如果i==0{ oTxt=document.createTextNode选择您的任期; setAttribute'disabled'、'disabled'; setAttribute'selected'、'selected'; oEle.appendChildoTxt; }否则{ oTxt=document.createTextNodei; oEle.appendChildoTxt; } document.getElementById'complexture'。appendChildoEle; var oPos=oEle.cloneNodetrue; document.getElementById'posTenure'.appendChildoPos; } } 你在这家公司工作了多少年 你在目前的职位上工作了多少年
对于第一个问题,将option元素附加到第一个下拉列表后,可以创建option元素的克隆并附加到第二个下拉列表。如果不克隆,则option元素始终附加到第二个下拉列表,而第一个下拉列表为空

window.onload=函数{loadDropDowns;} 函数加载下拉列表{ var-oTxt; 对于变量i=0;i<11;++i{ var oEle=document.createElement'option'; 如果i==0{ oTxt=document.createTextNode选择您的任期; setAttribute'disabled'、'disabled'; setAttribute'selected'、'selected'; oEle.appendChildoTxt; }否则{ oTxt=document.createTextNodei; oEle.appendChildoTxt; } document.getElementById'complexture'。appendChildoEle; var oPos=oEle.cloneNodetrue; document.getElementById'posTenure'.appendChildoPos; } } 你在这家公司工作了多少年 你在目前的职位上工作了多少年
张贴工作日志snippet@ShadowFiend我的错,对不起,我的代码中有这个,一个输入错误,错过了将它添加到问题中,更新了我的问题帖子snippet@ShadowFiend我的错,对不起,我的代码中有这个,一个输入错误,没有将它添加到问题中,更新了我的问题
function validate() {
    if (!document.getElementsByName('cprb1')[0].checked ||
        !document.getElementsByName('cprb2')[0].checked || 
        !document.getElementsByName('cprb3')[0].checked || 
        !document.getElementsByName('cprb4')[0].checked || 
        !document.getElementsByName('cprb5')[0].checked || 
        !document.getElementsByName('cprb6')[0].checked) {
            alert("RB not check");
        }
    }
document.getElementById('posTenure').appendChild(oEle.cloneNode(true));
function check(name) {
     var cprb = document.getElementsByName(name);
     for(var i = 0; i<cprb.length;i++){
        if(cprb[i].checked)
          return true;
     }
}
function validate() {
     if(!check('cprb1') && !check('cprb2') && !check('cprb3') && !check('cprb4') && !check('cprb5') && !check('cprb6'))
         alert("RB not check");
}