2013-07-07 26 views
-2

朋友我使用js使用以下代碼創建了一個下拉列表。當我們點擊下拉列表元素時的Ajax請求

<script> 
    $('.menu').dropit(); 
</script> 

    <ul class="menu"> 
     <li> 
      <a href="#">Product_name</a> 
      <ul> 
       <? foreach($customer_details as $details){?> 
       <li><a href="#"><?echo $details->name;?></a></li> 
       <?}?> 
      </ul> 
     </li> 
    </ul> 

的問題是,當下拉列表的鏈接,用戶點擊我需要發送的結果,即通過是

$詳情 - >名

ajax請求到控制器中的一個函數(使用codeignitor框架)。這是做什麼的?

JS來源:http://codepen.io/anon/pen/Eoxhp

回答

2

試試這個

$('.menu ul li a').on('click', function(e) { 
    e.preventDefault(); // prevent the link from triggering a pageload 
    var productName = $(this).html(); 
    $.ajax({ 
    type: "POST", 
    url: url, // the url you want to send it to 
    data: {name: productName }, 
    success: function() { 
     // do whatever you need to do on success 
    } 
    }); 
}); 
在服務器端,你就可以訪問使用 $_POST['name']產品名稱

;

+0

我已經更新了答案 – clem

+0

你有一個語法錯誤'數據:{名稱:產品名稱),' –

+0

以及發現並感謝hungerpain更新 – clem

1

你可以嘗試這樣的事情......

// In your HTML replace the line with this 
<li><a onclick="sendInfo(this);" href="#"><?echo $details->name;?></a></li> 

// JS 
function sendInfo(aEl){ 
    var val = $(aEl).text(); 

    $.ajax({ 
     url : "your url", 
     data : {"name" : val} 
    }).done(function(){ 
     // Success. Do something 
    }); 

} 
+0

你爲什麼要直接添加一個javscript函數調用到html代碼中? – clem

+0

應該理解。你應該對JS/HTML如何工作有基本的瞭解。 – mohkhan

+0

我明白它應該做什麼,但這不是最好的做法。如果您決定更改函數名稱或命名空間,那麼該怎麼辦?從來沒有教過錯誤的編碼做法 – clem

0

這是下降的變化Ajax請求下它工作正常,我 我希望這也將解決您的問題。

<select name="all_users" id="all_users" onchange="Mehdi_ajax(this.value);"> 
<option value=""><?=$this->lang->line('global_all')?></option> 
<?php if($all_users) 
     { 
     foreach($all_users->result() AS $item=>$val) 
     { 
      ?> 
      <option value="<?=$val->uid?>"><?=$val->username?></option> 
      <?php 
     } 
     } 
     ?> 
</select> 

腳本代碼:

<script type="text/javascript"> 
var surl = '<?=secure_xss()?>'; 
function Mehdi_ajax(id) 
{ 

    $.ajax({ 
    type:"POST", 
    url: surl+"movable/jewelry/get_all", 
    data: "userid=" + id, 
    success: function(result){ 
     $("#Mehdi_ajax").html(result); 
    } 
    }); 

} 

相關問題