Ajax过滤器:选择+单选按钮

时间:2015-12-30 15:53:18

标签: javascript php jquery html ajax

我对此脚本有疑问:

当我从选择中选择一个类型并选择单选按钮的数量时,该值不会改变,但如果我从选择中选择一个新类型,则该值会被正确更改。

我希望一旦你从选择中选择一个类型,改变数量的几倍,价格值就会实时变化。

提前谢谢

HTML + PHP

<select name="tipo" id="tiposelect">
    <option selected="selected"> --- </option>
    <?
        $sql_tipo = mysql_query("SELECT * FROM AM_Tipi_Prodotto_Agenzia WHERE id_prodotto = $id_prodotto");
        while($row_tipo = mysql_fetch_array($sql_tipo)){
    ?>
    <option value="<?=$row_tipo['nome_prodotto']?>"><?=$row_tipo['nome_prodotto']?></option>
    <? }?>
 </select>
 </div>
 <div class="point-of-action">
    <h5>Quantità:</h5>
    <?
        $sql_quantita = mysql_query("SELECT * FROM AM_Quantita_Prodotti_Agenzia WHERE id_prodotto = $id_prodotto LIMIT 3");
        while($row_quantita = mysql_fetch_array($sql_quantita)){
    ?>

      <input type="radio" name="quantita_2" value="<?=$row_quantita['quantita']?>"> &nbsp;<?=$row_quantita['quantita']?>&nbsp;&nbsp;
    <? }?>
 </div>

AJAX

<script>
        $(document).ready(function () {
          //RADIO BUTTON    
          $("input[name='quantita_2']").change(function() {           
          var value=$("input[name='quantita_2']:checked").val()

          //SELECT
          var tipo;
          $("#tiposelect").change(function(){
          tipo  = $('#tiposelect').val();

          $.ajax({
           method: "POST",
           url: "calcolo_agenzia.php",
           data: { id_prodotto: <?php echo (isset($_REQUEST['id_prodotto']) ? $_REQUEST['id_prodotto'] : 0) ; ?>, quantita: value, tipo: tipo },
           success: function( msg ) {
            $("#importoCalcolato2").text("€"+msg);
           }
          });
         });
         });
        });
</script>

FORM IMAGE

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试将$("#tiposelect").change(function(){更改为$("#tiposelect").click(function(){每次玩具点击$('#tiposelect')

时,这将会发生变化

此外,您还可以为$('#tiposelect')添加另一个事件处理程序。单击()以便更改将触发ajax

答案 1 :(得分:0)

尝试以下代码

$("input[name='quantita_2']").on("change",function() {
    //your code
}

<强>更新

检查您的tipo变量。它仅在select的change事件中获得值。它的初始值应该是所选选项的值。