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

时间:2013-07-07 08:49:41

标签: javascript ajax codeigniter jquery

朋友我使用以下代码使用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>

问题是当用户点击下拉列表的链接时我需要发送结果即是

  

$详情 - &GT;名称

通过对控制器中的函数的ajax请求(使用codeignitor框架).Hoe这样做了吗?

JS SOURCE:http://codepen.io/anon/pen/Eoxhp

3 个答案:

答案 0 :(得分: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'];

访问产品名称

答案 1 :(得分: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
    });

}

答案 2 :(得分: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);
    }
    });

}