-2

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

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

$详细信息->名称

通过 ajax 请求到控制器中的一个函数(使用 codeignitor 框架)。这完成了?

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

4

3 回答 3

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'];访问产品名称

于 2013-07-07T08:55:29.557 回答
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
    });

}
于 2013-07-07T08:57:46.187 回答
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);
    }
    });

}

于 2013-07-07T09:35:58.313 回答