我想获取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);
});
答案 0 :(得分:0)
您正试图在按钮点击事件中使用td
访问this
元素,其中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);
});
答案 1 :(得分:0)
如果您想在HTML页面中使用自定义属性,那么它应该以{{1}}为后缀。例如,在您的情况下,而不是data-
使用tayyab
。在JS中,您可以通过2方式获取属性值,
只需data-tayyab
attr();
或var edit=$(this).attr("data-tayyab");
data();
在您的代码中,var edit=$(this).data("tayyab");
并不是唯一的。请记住,id在一个页面中应该是唯一的。
id = 'test'
要获取echo "<td class='tdid' id='test' userid='$id'>".$row["id"]."</td>";
echo "<td class='tdtext' id='test' check='$id'>".$row["name"]."</td>";
属性,您可以这样做,
userid
希望这一点能够明确并且适合你。
答案 2 :(得分:0)
此处,this.state.data
表示this
而非button
。
td
试试这个:
$(this).attr("userid");
答案 3 :(得分:0)
尝试此更改tayyab="'.$name.'"
而不是tayyab='$name'
和按钮而不是按钮。最后一个回音未以分号;
并使用$(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);
});
答案 4 :(得分:0)
使用parent()
向上移动dom三并使用find获取具有.tdid
属性的userid
:
var labelid=$(this).parent().find('.tdid[userid]').attr("userid");