OnChange Select double调用ajax php request

时间:2015-08-10 10:33:50

标签: jquery ajax

奇怪的问题;-)有一些选择下降Downs改变我称之为ajax php请求来制作一些MySQL。不幸的是,代码总是双重提交ajax调用,所以我得到双重结果。

任何想法,什么错?

选择

<div id="select_uhren" class="row">

                <div class="col-md-3 col-sm-6 col-xs-12">
                  <!-- HERSTELLER -->
                <select class="fselect ffilter" id="fbrand" name="fbrand"><option value="">Alle Hersteller</option><option value="18">DIESEL</option><option value="15">EMPORIO ARMANI</option></select>                    </div><!--end col 3 -->

                <div class="col-md-3 col-sm-6 col-xs-12">
                  <!-- TYP -->
                <select id="ftyp" class="fselect ffilter" name="ftyp"><option value="">Typ/Geschlecht</option><option value="male">Herren</option><option value="female">Frauen</option></select>                    </div><!--end col 3 -->


                <div class="col-md-3 col-sm-6 col-xs-12">
                  <!-- MATERIAL -->
                  <select id="fmaterial" class="fselect ffilter" name="fmaterial"><option value="">Alle Materialien</option><option value="10">Edelstahl</option><option value="127">Keramik</option></select>                    </div><!--end col 3 -->

                <div class="col-md-3 col-sm-6 col-xs-12">
                  <!-- STATUS  -->
                  <select id="fstatus" class="fselect ffilter" name="fstatus"><option value="">Status</option><option value="limited">Limitiert</option><option value="neu">Neu</option></select>                    </div><!--end col 3  -->    

            </div>

jQuery Ajax-Call:

$('document').ready(function(){
  $('.ffilter').change(function(e) {
    e.stopPropagation();
    e.preventDefault();
    var fbrand = $('#fbrand').val();
    var ftyp = $('#ftyp').val();
    var fmaterial = $('#fmaterial').val();
    var fstatus = $('#fstatus').val();
    var jetzt = new Date().getTime();
    console.log(fbrand);
    $.ajax({
      url: 'application/inc/fun.filter.php',
      type: 'post',
      data: { varb: fbrand, vtyp: ftyp, vmat: fmaterial, vsta: fstatus, vjetzt: jetzt },
      context: this,
      success: function(data) {
          console.log(fbrand);
           $('.productoverview').html(data);
           $("img").unveil();
      }
    })

  });

});

感谢您的帮助

亲切的问候 托马斯

1 个答案:

答案 0 :(得分:1)

我昨天确实遇到了同样的问题。尝试先取消绑定事件,它实际上对我的情况有帮助。

尝试改变 $(&#39; .ffilter&#39;)。change(function(e){ 成 $(&#39; .ffilter&#39;)。取消绑定(&#34;更改&#34;)。更改(function(e){ 要么 $(&#39; .ffilter&#39;)。取消绑定(&#34;更改&#34;)。on(&#34;更改&#34;,功能(e){