由于previous one如此长,我发布了这个问题(如果我在其中切割部分,可能会产生混淆)。我在这篇文章中提出的问题更简单:)。
jQuery代码: -
function op_prof(id) {
var attr_u_search = $(".u_search").attr('id');
var dataString = 'u_search=' + attr_u_search;
alert(dataString);
$.ajax({
type: "POST",
url: '/script/profile.php',
data: dataString,
cache: false,
success: function(data) {
$('#ui_profile').show();
$('#ui_profile').html(data);
location.hash = 'profile' + 'id=' + dataString;
$(".searchbox").val('');
$("#usr_suggest").hide();
}
});
};
PHP: -
echo "<tr id='" . $id . "' class='u_search' height='40px' onclick='javascript:op_prof(1)'><td width='40px'><img class='avatar' src='$avater' /></td><td>" . $fname_ . " " . $lname_ . "</td></tr>";
}}
我无法检索每个ID
的{{1}}(每个人都有一个唯一的div
)。似乎jQuery捕获顶部ID
的{{1}}(第一个ID
),而不是捕获所有div
的{{1}}。
屏幕截图: -
http://prntscr.com/118dhv
http://prntscr.com/118dus
P.S:我100%确定jQuery中有错误: - &gt; prntscr.com/118eb5
答案 0 :(得分:2)
尝试修改on-click
tr
属性
由此:
onclick='javascript:op_prof(1)
对此:
onclick='javascript:op_prof(this)'
这是js:
function op_prof(obj) {
var attr_u_search = obj.id;
....
答案 1 :(得分:1)
由于你已经在使用jQuery,这里有一个完整的jQuery解决方案:
$("tr.u_search").on("click", function() {
var attr_u_search = $(this).attr('id');
var dataString = 'u_search=' + attr_u_search;
alert(dataString);
$.ajax({
type: "POST",
url: '/script/profile.php',
data: dataString,
cache: false,
success: function(data) {
$('#ui_profile').show();
// $('#ui_profile').html(data);
location.hash = 'profile' + 'id=' + dataString;
$(".searchbox").val('');
$("#usr_suggest").hide();
}
});
};
答案 2 :(得分:0)
'ob_prof'的第一个参数总是= 1?
javascript:op_prof(1)
答案 3 :(得分:0)
attr()方法设置或返回所选元素的属性和值。
当使用此方法返回属性值时,它返回FIRST匹配元素的值。
使用$ .each()
api.jquery.com/jQuery.each /