Javascript 单击下拉列表元素时的Ajax请求

Javascript 单击下拉列表元素时的Ajax请求,javascript,ajax,codeigniter,jquery,Javascript,Ajax,Codeigniter,Jquery,朋友我创建了一个下拉列表,使用下面的代码使用js <script> $('.menu').dropit(); </script> <ul class="menu"> <li> <a href="#">Product_name</a> <ul> <? foreach($customer_details

朋友我创建了一个下拉列表,使用下面的代码使用js

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

$('.menu').dropit();
问题是,当用户点击下拉列表的链接时,我需要发送的结果就是ie

$details->name

通过对控制器中函数的ajax请求(使用codeignitor框架)。这是怎么做到的

JS来源:

试试这个

$('.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
    }
  });
});

在服务器端,您可以使用
$\u POST['name']
访问产品名称

你可以试试这样的

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

}
//在HTML中,将行替换为
  • //JS 函数sendInfo(aEl){ var val=$(aEl).text(); $.ajax({ url:“您的url”, 数据:{“名称”:val} }).done(函数(){ //成功,做点什么 }); }
    这是一个关于更改下拉列表的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>
    
    
    
    为什么要将javscript函数调用直接添加到html代码中?应该理解这一点。你应该对JS/HTML的工作原理有基本的了解。我确实理解它应该做什么,但这并不是真正的最佳实践。如果您决定更改代码的函数名或命名空间,该怎么办?永远不要教糟糕的编码实践不,我的意思是,我刚刚提供了解决方案。您可以将其放在单独的文件中,也可以放在HTML的头/体部分。您可以随意更改函数名或名称空间,但逻辑应该保持不变,这就是我提供的。
    <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);
        }
        });
    
    }