如何使用自定义属性获取值


How To Get The Value Inside td using custom attribute

我想获得自定义属性的值它在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);
});