简体   繁体   English

在javascript中的另一个元素中获取html元素

[英]get html element inside another element in javascript

Hi I am creating dynamic div elements , let say 4 div are there . 嗨,我正在创建动态div元素,让我们说有4个div。 div1,div2,div3,div4. DIV1,DIV2,DIV3,DIV4。 each div has set of radio buttons rad1,rad2,rad3,rad4 . 每个div都有一组单选按钮rad1,rad2,rad3,rad4。 see as follows. 见如下。

div1 ->rad1,rad2,rad3,rad4 groupName=rd1 ->end div1
div2 ->rad1,rad2,rad3,rad4 groupName=rd2 ->end div2
div3 ->rad1,rad2,rad3,rad4 groupName=rd3 ->end div3
div4 ->rad1,rad2,rad3,rad4 groupName=rd4 ->end div4

This is dynamically created html. 这是动态创建的html。 i want to get which Radio selected from div2 or div3 what script i have to write ? 我想从div2或div3中选择哪个收音机我必须写什么剧本?

function checkRadio() {
    var radios = document.getElementById('rBox').getElementsByTagName('input');
    for (var i = 0; i < radios.length; i++) {
        radios[i].onclick = function(e) {
            var pid =  this.parentNode.id;
            if ( pid == 'group-2' || pid == 'group-3' )
                alert('PARENT: ' + this.parentNode.id )
        }
    }
}

<body onload="checkRadio()">
<div id="rBox">
<div class="rad" id="group-1">
      <input type="radio" name="option" />
      .... 
    </div>
    <div class="rad" id="group-2">
      <input type="radio" name="option" />
      ....     
    </div>
    ....
 </div>
</body>

use jquery 使用jquery
use jquery-> $.live() 使用jquery-> $ .live()

If I understood you right, this may help you: 如果我理解你,这可能对你有所帮助:

var num_of_options = 4;
var selected = new Array();
var op, i, j;

for (j=1;j<=num_of_options;j++) {
    op = document.getElementsByName("rd"+j);
    for (i in op) {
        if (op[i].checked) {
            selected[j] = op[i].value;
        }
    }
}

selected will contain the selected values for the radio groups in each divs. selected将包含每个div中的无线电组的选定值。

Here is crude sample code that will show the selected value in each div : 这是原始示例代码,将显示每个div的选定值:

var arrDivs = ["div1", "div2", "div3"];
for (var i = 0; i < arrDivs.length; i++) {
    var oDiv = document.getElementById(arrDivs[i]);
    if (oDiv) {
        var arrInputs = oDiv.getElementsByTagName("input");
        var blnFound = false;
        for (var j = 0; j < arrInputs.length; j++) {
            var oInput = arrInputs[j];
            if (oInput.type == "radio" && oInput.checked) {
                alert("The value of selected radio in div '" + arrDivs[i] + "' is: " + oInput.value);
                blnFound = true;
                break;
            }
        }
        if (!blnFound)
            alert("div '" + arrDivs[i] + "' contains no selected radio button");
    }
    else {
        alert("div was not found: " + arrDivs[i]);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM