我想获得自定义属性的值它在td标签
当我点击更新按钮时,弹出窗口将显示,值应该插入文本框中一切正常,但我无法获得td的值,它具有自定义属性
echo "<td class='tdid' id='test' userid='$id'>".$row["id"]."</td>";
echo "<td class='tdtext' id='test' check='$id'>".$row["name"]."</td>";
echo "<td><Button style='margin-left:10px;' class='btn btn-primary buttonclass' tayyab='$name'>edit</Button>
更新按钮的jquery代码
$(".buttonclass").click(function(){
$('#dialog').dialog('open');
var edit=$(this).attr("tayyab");
$("#textbox").val(edit);
$(".showtext").val(edit);
var labelid=$(this).attr("userid");
$(".u_id").val(labelid);
alert(labelid);
});
这里,this
指的是button
,而不是td
。
$(this).attr("userid");
试试这个:
$(this).parents('tr').find('td[userid]').attr("userid");
您试图在按钮单击事件上使用this
访问td
元素,其中this
指的是按钮而不是td
。
你需要改变你的选择器像这样,$(this).closest('tr').find('td:has([userid])')
试试下面的代码,
$(".buttonclass").click(function(){
$('#dialog').dialog('open');
var edit=$(this).attr("tayyab");
$("#textbox").val(edit);
$(".showtext").val(edit);
var labelid = $(this).closest('tr').find('td:has([userid])').attr("userid");
$(".u_id").val(labelid);
alert(labelid);
});
如果您想在HTML页面中自定义属性,那么它应该以data-
作为后缀。例如,在您的案例中,使用data-tayyab
代替tayyab
。在JS中,获取属性值有两种方式,
By simple attr();
var edit=$(this).attr("data-tayyab");
Or by data();
var edit=$(this).data("tayyab");
在你的代码中,id = 'test'
不是唯一的。请记住,id在一个页面中应该是唯一的。
echo "<td class='tdid' id='test' userid='$id'>".$row["id"]."</td>";
echo "<td class='tdtext' id='test' check='$id'>".$row["name"]."</td>";
获取userid
属性,你可以这样做,
echo "<td class='tdid' id='test1' data-userid='$id'>".$row["id"]."</td>";
echo "<td class='tdtext' id='test2' data-check='$id'>".$row["name"]."</td>";
var userID = $("#test1").attr('data-userid');
使用parent()
进入dom 3,并使用find获取具有userid
属性的.tdid
:
var labelid=$(this).parent().find('.tdid[userid]').attr("userid");
尝试更改tayyab="'.$name.'"
而不是tayyab='$name'
和button而不是button。最后一次回显没有以分号;
和$(this).closest('tr').find('td[userid]').attr("userid");
应用
它从父
的位置查找属性echo "<td class='tdid' id='test' userid='".$id."'>".$row["id"]."</td>";
echo "<td class='tdtext' id='test' check='".$id."'>".$row["name"]."</td>";
echo "<td><button style='margin-left:10px;' class='btn btn-primary buttonclass' tayyab='".$name."'>edit</button>";
更新按钮的jquery代码
$(".buttonclass").click(function(){
$('#dialog').dialog('open');
var edit=$(this).attr("tayyab");
$("#textbox").val(edit);
$(".showtext").val(edit);
var labelid=$(this).closest('tr').find('td[userid]').attr("userid");
$(".u_id").val(labelid);
alert(labelid);
});