-1

我有一个动态输出按钮的 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>");
4

6 回答 6

4

如果您通过 javascript 输出按钮,则需要使用on而不是click绑定事件。

$('body').on("click", "button[name=likebtn]", function (){
    alert($(this).attr("value"));
});
于 2013-06-14T04:00:27.797 回答
3

你可以使用

$(this).val() 

获得价值

采用

   $(this).text()

获取文本

如果您想附加要asd使用的值

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

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

于 2013-06-14T03:57:14.817 回答
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
});

你可以看看这个来检查这个例子。

于 2013-06-14T04:04:27.103 回答
0

我相信您正在尝试获取按钮的文本,如果是这样:

$(this).text()

并删除“asd”:

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

并修复您的选择器:

$('button[name=likebtn]')
于 2013-06-14T03:58:17.557 回答
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>');

检查这个

于 2013-06-14T03:58:48.333 回答
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
?>
于 2014-07-30T06:43:59.253 回答