朋友我使用以下代码使用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
答案 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);
}
});
}