这是我希望每次点击收音机增加的数据。
<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。 请帮忙
答案 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用户显示值的更新,以便仅在服务器端实际更新时才更新用户可视化数据。