2017-01-28 28 views
0

我只是想检查一个单选按钮发送AJAX调用和单选按钮追加使用JavaScript。检查单选按钮发送AJAX调用和单选按钮append

我已经试过几件事情,但一直没能得到这个权利:

for (var i = 0; i < response.split(',').length; i++) { 
    $('#radio_append').append('<input name="suggested_dates" id="suggested_dates'+count+'" value="' + response.split(',')[i] + '" class="styled chal_bhi_radio" type="radio" /><label for="suggested_dates'+count+'">' + response.split(',')[i] + '</label> <br> ') 
    count++; 
} 

追加此单选按钮后,有上点击任何一个单选按钮,四个单选按钮来发送这个AJAX调用。

我正在尝试几件事,但没有奏效。

在选择任何复选框时,它没有显示警报框。这些单选按钮从JavaScript中追加。

enter image description here

$(".chal_bhi_radio").on('change', function() { 
     alert("HI"); 
     var date_al = $(".chal_bhi_radio:checked").val(); 
     $.post("<?php echo $site_root;?>common/service.php?j=4", { 
      date_select: date_al 
     }, 
     function(response) { 
      if (response != '') { 
      per_data = $.parseJSON(response); 
      if (per_data != 0) { 
       $("#price_special_append").html(""); 
       add_basic = per_data; 
       $("#price_special_append").append(" € " + add_basic + " ") 
      } 
      } 
     }); 
+0

它没有重复,检查代码剪辑感谢 –

+0

它是。特别是如果你说“它为我工作”的答案低于 – mplungjan

+0

相信我这是为我工作,并没有从提供的链接复制.. –

回答

2

你应该用事件代理作为新追加的元素不会有一个事件侦听器连接到他们:

注意事件处理程序连接到最近的静态元素我们正在使用点击。该值只能来自该电台因此无需扫描DOM托运收音机,除非你拥有多台套其中

$('#radio_append').on("click", ".chal_bhi_radio",function(){ 
    alert("HI"); 
    var date_al = $(this).val(); 
}); 

事件委托不会直接附加事件侦听器来.chal_bhi_radio。但相反,它会将它们附加到另一个元素(这里是document)。所以当单击该元素时,它将检查目标元素是否与选择器匹配(第二个参数".chal_bhi_radio")。阅读更多关于活动委派。

+0

感谢亲爱的工作对我来说... –

+0

为什么用户将我的问题标记为[重复]? –

+0

@MuhammadAwaisZulifqar查看链接,你会明白为什么。 –