当我点击它时,我试图得到一行的值,但它只得到第一个tr的值,即使我点击其他tr,如何点击tr的值得到。 我用jsonresponse填满了我的桌子。这是我的代码。
这是我的代码。
register.html
<table class="table table-striped table-hover table-bordered" style="width:100%" border="0" id="miembrotb">
JsonResponse.js
$("#buscar_paciente").click(function(e) {
var completo = $("#nombre").val();
var input_string = completo;
$.ajax({
url: "/datospacientejson",
type: "POST",
dataType: "json",
data: {
nombre: input_string,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function (json) {
var jsonResponse = eval(json);
$("#miembrotb").empty();
$("#miembrotb").append('<tr><th>ID</th><th>NOMBRE</th><th>FECHA DE NACIMIENTO</th></tr>');
$.each(jsonResponse, function (index, element) {
html = '<tr><td class="td1">'+jsonResponse[index]["fields"]["folio"]+'</td><td>'+jsonResponse[index]["fields"]["nombre"]+' '+jsonResponse[index]["fields"]["apellido_paterno"]+'<td>'+jsonResponse[index]["fields"]["fecha_nacimiento"]+'</td>'+'</tr>'
$("#miembrotb").append(html);
});
},
error: function(xhr, errmsg, err) {
alert(xhr.status + "ERROR EN BUSQUEDA DE INFORMACION DEL PACIENTE: " + xhr.responseText);
}
});
return false;
});
//ON CLICK FUNCTION
$("#miembrotb").click(function(){//click anywhere in a row
alert($(this).find("tr").html());
});
答案 0 :(得分:0)
您需要将click事件附加到ID为tr
的表格中的特定miembrotb
元素
$("#miembrotb tr").click(function(){//click anywhere in a row
$(this).html();
});
答案 1 :(得分:0)
您正在做的是检查用户是否点击整个表,而不是特定行。这样,您就不知道点击了哪一行,因此无法从该行中获取信息。
此外,当您执行$(this).find("tr")
时,您将获得一个包含填充查询的所有元素的数组,因此您将获得该表所具有的每一行。
您需要的是,在行中添加一个类,然后使用以下代码将eventlistener添加到它们中:
$('.table-class').click(function(){
$(this).html();
});
这样,您就可以从您单击的行中获取html。此外,如果您动态创建它们,则可能需要在创建事件侦听器后附加事件侦听器。
希望这会有所帮助。