单击“特定”按钮时如何显示特定值

时间:2017-01-12 06:28:20

标签: javascript php jquery ajax

当我点击所有按钮输出将是相同的(即1)。我想显示指定按钮的具体值为例子: - 当我点击按钮1然后它必须显示输出为1,当我点击2它必须显示输出为2.请帮助我。

enter image description here

<?php
    for ($i=0; $i < 10 ; $i++) { 
    echo '<br><button value="'.$i.'" class="my_remark_btn">'.$i.'</button>';
 }
?>

<script type="text/javascript">

    $('.my_remark_btn').click(function(){
        remark_aftr_click();  
    });

     function remark_aftr_click(){
        var k = $(".my_remark_btn").val();  
         $.ajax({url: "my_remark_act.php",
             cache: true,
             type: "POST",
             data: {go:k},
            success: function(data_remark_mi){
                alert(data_remark_mi);
           }
         });
      }

</script>

my_remark_act.php: -

<?php echo $_POST['go']; ?>

5 个答案:

答案 0 :(得分:2)

试试这个例子。

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>

$( document ).ready(function() {
    $("button").click(function() {
        alert(this.id); // or alert($(this).attr('id'));
    });
});
  </script>
</head>
<body>
    <button id="some_id1"></button>
<button id="id2"></button>
<button id="id3"></button>
<button id="id4"></button>
<button id="id5"></button>
</body>
</html>

答案 1 :(得分:2)

&#13;
&#13;
$('body').append("<button data-value='val' class='my_remark_btn'>val</button>")

$(document).on('click', '.my_remark_btn', function() {
alert($(this).attr('data-value'))
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

  1. 按钮没有value
  2. 使用data-value等数据属性。
  3. 使用此上下文为点击按钮获取$(this).attr('data-value')
  4. 使用事件委托来动态添加元素。

答案 2 :(得分:1)

试试这个

<强>的jQuery

$('.my_remark_btn').click(function(){ // when a button is clicked
    var value = $(this).value; // get the value of that specific button
    alert(value); // alert the value to the page (to make sure it is correct)
    remark_aftr_click(value);  // run function, with value as a parameter
});

function remark_aftr_click(val){  
    $.ajax({
        url: "my_remark_act.php",
        cache: true,
        type: "POST",
        data: {go: val}, // post data to Ajax with CORRECT value
        success: function(data){
            alert(data); // alert returned data
        }
    });
}

为什么您的代码无效

之前检索value的{​​{1}}时,您只获得了该特定类的第一个元素的.my_remark_btn

如何让它发挥作用

相反,您需要将value作为参数传递到value中(同时使用function作为选择器来获取该特定按钮的值)。

希望这会有所帮助: - )

答案 3 :(得分:1)

您可以使用JQuery。尝试以下代码。

      // this will fire for all button having class '.my_remark_btn'
      $('.my_remark_btn').click(function(){

           // using $(this) you will get the current element
            var value = $(this).val();
            console.log(value);
      });

在您的代码中,您按var k = $(".my_remark_btn").val();访问了价值,这只会返回first类的my_remark_btn按钮的值。

答案 4 :(得分:0)

您需要$(this).attr("value"),如下所示: -

<script type="text/javascript">
    $('.my_remark_btn').click(function(){
        var k = $(this).attr("value");
        $.ajax({url: "my_remark_act.php",
             cache: true,
             type: "POST",
             data: {go:k},
            success: function(data_remark_mi){
                alert(data_remark_mi);
            }
         });
     });
</script>

实施例: -

$('.my_remark_btn').click(function(){
  var k = $(this).attr("value");
  alert(k);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button value ="1" class="my_remark_btn">1</button><br>
<button value ="2" class="my_remark_btn">2</button>