如何使用自定义属性获取td内部的值

时间:2016-11-16 05:25:26

标签: javascript php jquery html

我想获取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);
});

5 个答案:

答案 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");