Değer onClick olay javascript değişkeni değişiyor değil

1 Cevap php

Ben dinamik arama jquery ve php uygulamak çalışıyorum, ama benim onclick olayı bir javascript değişkenin değerini değiştirmek mümkün değilim.

<script type="text/javascript">
  var main_category = '<?php echo $main_category?>';
  var main_url = '<?php echo $url?>get/' + encodeURIComponent(main_category) + '/';
  var container_id = '<?php echo $unique_id?>content_area';

    //name
    $('#<?php echo $unique_id?>search_by_name').autocomplete('<?php echo $url?>get_autocomplete_data/' + encodeURIComponent(main_category) + '/names/', {
      matchContains: "word",
      autoFill: true,
      width: 310
    });$('#<?php echo $unique_id?>search_by_name').result(function (event, data){
      var url = main_url + 'search/title/' + encodeURIComponent(data);
      load_div(container_id, url);
    });


    //on click of displayed categories
    $('[rel="<?php echo $unique_id?>sub_category"]').click(function (){
      window['main_category'] = this.title;
      $('#<?php echo $unique_id?>category').html('' +main_category+ '');
      return false;
    });
  });
</script>

Tıklama ateş zaman değerini değiştirir

//on click of displayed categories
        $('[rel="<?php echo $unique_id?>sub_category"]').click(function (){
          window['main_category'] = this.title;
          $('#<?php echo $unique_id?>category').html('' +main_category+ '');
          return false;
        });

Bundan sonra ben arama için veri eklediğinizde ama hala eski kategorideki arar

$('#<?php echo $unique_id?>search_by_name').result(function (event, data){
          var url = main_url + 'search/title/' + encodeURIComponent(data);
          load_div(container_id, url);
        });

"Main_category" değer "main_url" değişiyor değil

1 Cevap

main_url bir değişken olduğunu ve yalnızca bir kez ayarlanır. Bunu ayarlarken kullanılan başka bir değişkenin değerini değiştirme değerini değiştirmez. Siz de main_url sıfırlamak gerekir. Veya daha iyisi, amaçlanan değer döndüren main_url bir işlevi yapmak.