2016-08-16 70 views
0

我有一个div,如下所示。我知道在标签标签内会有一个“用户类型”文本。可能有多个文本“用户类型”,但只有一个内部标签标签。我需要获取标签选择的标识。在这种情况下,它将是user_type_22。我可以如何使用jQuery获得它?如何在标签标签内的已知文本后获得选择框的ID?

<div class="form-group"> 

    <label class="control-label" for="user_type_22">User Type</label> 
    <div class="control"> 
     <select id="user_type_22" class="form-control" name="whateverbeit"> 
     <option>1</option> 
     <option>2</option> 
    </select> 
    </div> 

</div> 

回答

0

你可以不用一个循环:

id = $("label:contains('User Type')").next('div').find('select').attr('id'); 
alert(id); 

https://jsfiddle.net/z4qzqkhf/

0

我们可以遍历所有标签,并获得选择标签的ID是这样的:

$('label').each(function() { 
 
    console.log($(this).next().find("select").attr("id")) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 

 
    <label class="control-label" for="user_type_22">User Type</label> 
 
    <div class="control"> 
 
     <select id="user_type_22" class="form-control" name="whateverbeit"> 
 
     <option>1</option> 
 
     <option>2</option> 
 
    </select> 
 
    </div> 
 
    
 
    <label class="control-label" for="user_type_23">User Type</label> 
 
    <div class="control"> 
 
     <select id="user_type_23" class="form-control" name="whateverbeit"> 
 
     <option>1</option> 
 
     <option>2</option> 
 
    </select> 
 
    </div> 
 

 
</div>

0

要做到这一点,你可以使用:contains选择,以获得label但其文本,然后next()find()遍历DOM得到select。试试这个:

var id = $('label:contains("User Type")').next('div').find('select').prop('id'); 
 
console.log(id);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-group"> 
 
    <label class="control-label" for="user_type_22">User Type</label> 
 
    <div class="control"> 
 
    <select id="user_type_22" class="form-control" name="whateverbeit"> 
 
     <option>1</option> 
 
     <option>2</option> 
 
    </select> 
 
    </div> 
 
</div>

0

试试这个..

$('label').each(function() { 
    if($(this).html() == "User Type") 
     console.log($(this).closest("select").attr("id")); 
}); 
相关问题