2010-04-26 36 views
2

我想實現一個動態搜索jQuery和PHP,但我無法更改我的onclick事件上的JavaScript變量的值。值在onClick事件中的javascript變量沒有變化

<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> 

當點擊觸發

//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; 
     }); 

,但是當這之後,我的搜索添加數據仍然搜索老品類

$('#<?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」它改變了價值值不會在「main_url」中改變

回答

0

main_url是一個變量,它只設置一次。更改設置時使用的另一個變量的值不會更改其值。你也應該重置main_url。或者更好的是,使main_url成爲返回預期值的函數。