想要增加单击单选按钮的计数器值

时间:2017-05-02 12:51:47

标签: javascript php jquery html yii2

这是我希望每次点击收音机增加的数据。

<span class="pull-right negative"><?= $positive ?></span>
<span class="pull-right positive"><?= $negative ?></span>
function reviewsub() { 
  if ($('input[type=radio]:checked').val() == 0){
  } else { 
  }
<?= $form->field($model, 'review')->inline() ->radioList( [1 => 'Yes', 0 => 'No'],[ 'onclick' => "reviewsub()"])->label(false) ?>

动态地我通过这些span字段获取变量值。但我想在没有重新加载页面的情况下增加值onclick。 请帮忙

2 个答案:

答案 0 :(得分:0)

一个问题,您是否还必须更新PHP端的号码?像mySQL一样?每次点击按钮都需要POST / GET请求。

一个简单的答案就是为点击创建一个监听器。 (这需要给单选按钮一个ID。

首先创建两个JS变量;

var pozitif = <?php echo $positive; ?>;
var negatif = <?php echo $negatif; ?>;

然后创建两个按钮

<button onclick="pozitif++; $('#pozitif').html(pozitif);">
<button onclick="negatif++; $('#negatif').html(negatif);">

瞧。

答案 1 :(得分:0)

您可以按照Arda的建议以动态方式更新JS中显示的数字。

另一方面,如果你想更新存储在后端的数据而不重新加载页面,你可以在jQuery中使用监听器和AJAX调用来进行,即

$val = 0;
$("input[type=radio]").click(function(){
                 if($(this).hasClass("negative")){
                  $val--;
                 } else {
                  $val++;
                 }
                 $( "#counter" ).html( $val );

                 $.ajax({url: "update_in_backend.php",type: "POST",
      data: {val: $val}, success: function(result){
                    console.log("Updated data in backend");
                 }});
                });

上面的代码(需要包含jQuery)为单选按钮上的click事件添加了一个监听器。它的优点是不需要在html中指定onclick。 $ .ajax调用正在向一个理想的PHP文档(update_in_backend.php)发送一个post请求,并将更新值作为参数。

您可能希望在成功回调中移动te用户显示值的更新,以便仅在服务器端实际更新时才更新用户可视化数据。