2017-11-25 64 views
-1

找最接近的元素我有填充DIV一些HTML的js代码:通过ID jQuery的

function InvestigationList() { 
    var id = $('#idval').text(); 
    //alert(id); 
    var model = { 
     id: parseInt(id) 
    }; 
    $.ajax({ 
     url: '@Url.Action("ListofInvestigations", "PatientDatabase")', 
     contentType: 'application/json; charset=utf-8', 
     data: JSON.stringify(model), 
     type: 'POST', 
     dataType: 'json', 
     processData: false, 
     success: function(data) { 
      var list = data; 
      for (var i = 0; i <= list.length - 1; i++) { 
       var investigationList = '<p style=" color: #1d69b4; font-size: 18px;">' 
        + '<b style=" color: #1d69b4; font-size: 20px;" >Finding from:</b> ' + '<b id="idvalue" style="display:none">' + list[i].id + '</b>'+'<b id="findingval">'+list[i].start +'</b>'+ '</p>' 
        + '<p><b style=" color: #1d69b4; font-size: 20px;">Notice</b></p>' 
        +'<p style=" color: #1d69b4; font-size: 18px;">' +list[i].notice+'</p>'; 
       $('#panel3').append('<div>' + investigationList + '</div>'); 
      } 
     } 
}); 
} 

我需要通过点击它来获得findingvalidvalue

我写这篇文章的代码:

$(document).on('click', 
    '#findingval', 
    function() { 
     var findingval = $(this).text(); 
     alert(findingval); 
     var idvalue = $(this).closest('#idvalue').text(); 
     alert(idvalue); 

    }); 

查找val工作很好,但idavalue没有得到。

我做错了什么?

+0

嗯....应该只有每个ID的一个元素。请使用课程。 –

+2

由于ID _在文档中是唯一的,所以我甚至没有意义去搜索“最近的”ID--或者在文档中有一个具有该ID的单个元素_,或者不是 - “close”无关紧要接着就,随即。 – CBroe

+0

这就是所谓的ID ..你不认为每个Facebook用户都有相同的ID。这没有意义。 ID的通常是独一无二的,所以它也是有意义的。类定义了一组元素,所以使用它们很好。 “获得与某个类最接近的元素”将是一个更好的问题,并且会代表正确开发的文档。 –

回答

2

id属性在同一个文档中应该是唯一的,所以请用普通类替换重复的属性。

当您更改所有普通类重复的ID,你应该在你的JS代码使用这些类,如:

$(document).on('click','.findingval',function() { 
    var findingval = $(this).text(); 
    console.log(findingval); 

    var idvalue = $(this).siblings('.idvalue').text(); 
    console.log(idvalue); 
}); 

希望这有助于。

$(document).on('click', '.findingval', function() { 
 
    var findingval = $(this).text(); 
 
    console.log(findingval); 
 

 
    var idvalue = $(this).siblings('.idvalue').text(); 
 
    console.log(idvalue); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div> 
 
    <p style=" color: #1d69b4; font-size: 18px;"> 
 
    <b style=" color: #1d69b4; font-size: 20px;">Finding from:</b> 
 
    <b class="idvalue" style="display:none">idvalue 1</b> 
 
    <b class="findingval">findingval 1</b> 
 
    </p> 
 
    <p style=" color: #1d69b4; font-size: 18px;"> 
 
    <b style=" color: #1d69b4; font-size: 20px;">Finding from:</b> 
 
    <b class="idvalue" style="display:none">idvalue 2</b> 
 
    <b class="findingval">findingval 2</b> 
 
    </p> 
 
    <p style=" color: #1d69b4; font-size: 18px;"> 
 
    <b style=" color: #1d69b4; font-size: 20px;">Finding from:</b> 
 
    <b class="idvalue" style="display:none">idvalue 3</b> 
 
    <b class="findingval">findingval 3</b> 
 
    </p> 
 
</div>

+0

它们是兄弟姐妹,并且在类选择器中缺少点 – charlietfl