Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4557
  • Last Modified:

How to get the <label> id from for attribute in JavaScript

In the below code I am having the id of the input type=checkbox, that is "for" attribute of the label and I wanted to get the id of the label dynamically.
I know that from label id I can get the label content.
Can anybody sugest me how to get the id from for value of the <label>.

<html>
<head>
<script type="text/javascript">
function get_label() {
	alert(document.getElementById('labelId').firstChild.nodeValue);
}
</script>
</head>
<body>
<label id="labelId" for="check_id">check box 1: </label>
<input type="checkbox" name="check_name" id="check_id" />
<input type="button" value="click me" onclick="get_label()" />
</body>
</html>

Open in new window

0
parumuga
Asked:
parumuga
1 Solution
 
Sreedhar VengalaSr. Consultant - Business IntelligenceCommented:
if your : html is  as :

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script type="text/javascript">
    function get_label() {
        alert(document.getElementById('labelId').firstChild.nodeValue);
    }
</script>
</head>
<body>
<form id = "form1">
<label id="labelId" type="label">check box 1: </label>
<input type="checkbox" name="check_name" id="check_id" />
<input type="button" value="click me" onclick="get_label()" />
</form>
</body>
</html>

can be doable (not tested)

as :

var myForm=document.forms["form1"]

for(var i=0;i<myForm.length;i++)
{

        if(myForm.elements[i].type=="label"
        &&
        myForm.elements[i].value=="check box 1")
        {
           var currentID=myForm.elements[i].id
        }

}
alert(currentID);



0
 
David S.Commented:
Is this what you're asking for?
function get_label() {
        alert(document.getElementById('labelId').htmlFor);
}

Open in new window

0
 
dan_nealCommented:
Try this:

function get_label {
var labels = document.documentElement.getElementsByTagName('label');
for(var i=0;i<labels.length;i++) {
if(labels.item(i).getAttribute('for')==checkbox_id) {
alert(labels.item(i).innerHTML);}
}
}

Open in new window

0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
parumugaAuthor Commented:
this is the result I was expecting. This is how I get the Label ID thanks for Your answers especially for Kravimir.
function getHtmlLabelId(div_obj,element_id){
for (i=0; i<div_obj.getElementsByTagName("label").length; i++) {
 if(div_obj.getElementsByTagName("label")[i].htmlFor == element_id)
  return (div_obj.getElementsByTagName("label")[i].id);
}
}

Open in new window

0
 
David S.Commented:
You're welcome.

It's more efficient to only do one DOM lookup and to only calculate the length once:
function getHtmlLabelId(div_obj,element_id){
  var lbls = div_obj.getElementsByTagName("label");
  for (var i=0,k=lbls.length; i<k; i++) {
     if(lbls[i].htmlFor == element_id)
       return lbls[i].id;
  }
  return '';
}

Open in new window

0
 
parumugaAuthor Commented:
Solution was useful
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now