2017-01-12 2 views
3

Когда я нажимаю все выходные кнопки, будет то же самое (т.е. 1). Я хочу отобразить определенное значение указанной кнопки для ПРИМЕР: - Когда я нажимаю кнопку 1, она должна отображать output как 1, и когда я нажимаю 2, он должен отображать вывод как 2.please, помогите мне.Как показать конкретное значение, когда я нажимаю Конкретная кнопка

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']; ?> 
+1

'var k = $ (this) .val();' использовать это вместо 'var k = $ (". My_remark_btn "). Val(); ' –

ответ

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>

+0

@Nirik Shan Рад помочь вам :) :) –

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 из .my_remark_btn прежде, вы только когда-либо получать value первого элемента с этим конкретным классом.

Как вы можете заставить его работать:

Вместо этого вам нужно пройти value в качестве параметра в пределах вашего function (при использовании this как селектор, чтобы получить значение этой конкретной кнопки).

Надеется, что это помогает :-)

+1

хорошее усилие. +1 –

+0

Ха-ха, спасибо @Anant :) –

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> 
+0

хорошее усилие. +1 –

2

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

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

  1. Кнопка не имеет value.
  2. Использовать атрибут данных, например data-value.
  3. Получите это как $(this).attr('data-value'), используя этот контекст для нажатой кнопки.
  4. Использование делегирования событий для динамически добавленных элементов.
+0

http://stackoverflow.com/a/487105/4248328 –

+0

@ Обязательно, потому что это кнопка ввода типа на этот раз это элемент кнопки. как вы можете видеть в php echo ' ' – guradio

+0

Кнопка« Человек »может иметь значение, и вы можете получить ее через .attr (« значение »). Я проверил его на моем локальном конце. –

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.

+0

хорошее усилие. +1 –

Смежные вопросы