2015-08-06 3 views
0

Я работаю над динамическими флажками. Я получаю динамические флажки, но не могу передать их значение контроллеру. Вот мой сценарий.Динамическое значение флажка не передается

$(".select_item").click(function(){ 
     var this_a=$(this.id); 
     var txt1=$(".min").html(); 
     var txt2=$(".max").html(); 
     var check=new Array(); 
     $("$this_a:checked").each(function() { 
      check.push($(this).val()); 
     }); 
     alert(check); 
     $.ajax({ 
      type: 'GET', 
      url: "/rng", 
      data:{postdata1:txt1,postdata2:txt2,postdata3:check}, 
      // data: {mydata:"cc"}, 
      success: function(data) { 

       $('#product_image').html(data); 
      }, 
      }); 
     }); 

, когда я нажимаю флажок, отображается на дисплее сообщения в сообщении. А вот мнение о

<input type="checkbox" id="p<?php echo $s; ?>" name="cc" class="select_item" data-min="{{$min}}" data-max="{{$max+1}}"/> 
<label for="{{'p'.$s}}" id="{{'p'.$s}}"> 
<span class="button"></span> 
Rs.&nbsp;<span class="min"><?php echo $b;?></span> 
- Rs. &nbsp;<span class="max"><?php if($i==4){echo $max+1;}else{echo $b+$a;}?></span> 

Мне нужно, чтобы отобразить диапазон суммы с минимальным и максимальной ценой

ответ

0

, что вы исправите в скрипте отображения пустого окна предупреждения. здесь скрипт

$(".select_item").click(function(){ 
     var this_a=$('#' + this.id); 
     var txt1=$(".min").html(); 
     var txt2=$(".max").html(); 
     var check=new Array(); 
     $(':checked', this_a).each(function() { 
      check.push($(this).val()); 
     }); 
     alert(check); 

Предыдущих один дисплей и этот дисплей скрипта ничего

0

Есть несколько проблем с кодом вы публикуемым.

  1. var this_a=$(this.id) ничего не выбирать, так как вы пропустили # с самого начала селектора (вам не нужно эту строку в любом случае, как вы можете использовать this, который был бы щелкнули дом элемент)
  2. $("$this_a:checked") будет рассматриваться буквально, и поэтому ничего не выберет. Вместо этого вы должны использовать $(this).filter(':checked').
  3. Каждый из них избыточен, поскольку вы работаете только с одним флажком.

Вы могли бы упростить код:

$('.select_item').on('change', function() { 

    var txt1 = $('.min').html(), 
     txt2 = $('.max').html(), 
     check = []; 

    if (this.checked) { 
     check.push(this.value); 
    } 

    /* rest of code here */ 

}); 
Смежные вопросы