Jquery - 动态获取按钮值

时间:2013-06-14 03:56:32

标签: php javascript jquery

我有一个动态输出按钮的JS:

<button class='btn btn-mini btn-primary likebtn' name='likebtn' value='1' type='button'>value1text</button>

<button class='btn btn-mini btn-primary likebtn' name='likebtn' value='2' type='button'>value2text</button>


$('button=[name=likebtn]').click(function (){
    alert($(this).val());
});

我想获得按钮点击的价值!但它似乎没有点击按钮的名称。为什么?发现它很奇怪......

代码就在这里......

$('#div').append("<button class='btn btn-mini btn-primary likebtn' name='likebtn' type='button' value='"+obj.value+"'>"+"LIKE"+"</button>");

6 个答案:

答案 0 :(得分:4)

如果您通过javascript输出按钮,则需要使用on代替click来绑定您的活动。

$('body').on("click", "button[name=likebtn]", function (){
    alert($(this).attr("value"));
});

答案 1 :(得分:3)

你可以使用

$(this).val() 

获得价值

使用

   $(this).text()

获取文字

如果您想将值附加到asd使用

alert('asd'+$(this).val());

并将选择器用作$('button[name=likebtn]').click(....

答案 2 :(得分:2)

在脚本中,您应该写:

$('button[name="likebtn"]').click(function(){
    alert($(this).val());//if you are trying to get value of 'value' attribute
    alert($(this).text());//if you are trying to get text between the tag
});

您可以查看this来查看示例。

答案 3 :(得分:0)

我相信你正试图获取按钮的文本,如果是这样的话:

$(this).text()

删除'asd':

alert($(this).val());

修复你的选择器:

$('button[name=likebtn]')

答案 4 :(得分:0)

您可以直接使用this并删除不需要的双引号。

$('button[name=likebtn]').click(function (){
    alert($(this).val());
});

选中此JSFiddle

您需要更正append方法

$('div').append('<button class=btn btn-mini btn-primary likebtn name=likebtn value='+ obj.value + '>LIKE</button>');

检查this

答案 5 :(得分:0)

如果按钮是动态的并且使用ajax:

,则可以尝试这个
$(document).ready(function(){
$(".details").click(function(){

var value=$(this).attr('id');

$.post("product-viewbills-1.php",
 {
    value1:value
 },

    function(data){
        //alert(data);
       $('#shadow').html(data);
 });
       }); 

});

现在上面的代码是我们正在使用的j查询(ajax)。使用$ .post而不是$ .ajax 现在我们将看到动态使用的按钮。这个是一个PHP代码

<?php
    $con=mysqli_connect("localhost","root","root","amazing");  //connecting to database
    $result=mysqli_query($con,"SELECT * FROM productmaster");  //taking values from table  
    while($row=mysqli_fetch_array($result)) //fetching the array which contains the column
    {
?>
    <input type="button" class="details" id="<?php echo $row['pmid'];?>" value="details">
<?php
    }
?>

现在我们制作了许多具有唯一ID的按钮,同一个类pmid是我们所采用的表格的列。

现在每个按钮包含不同的ID,可以单独使用。

<div id="shadow"></div>
<?php
    mysqli_close($con);                //closing the database
?>