【发布时间】:2015-01-27 02:44:56
【问题描述】:
我正在使用 Codeigniter 和 Bootstrap 构建一个应用程序。
我想要做的是有一个下拉菜单可以改变sql中的状态,然后在后台通过AJAX调用PHP脚本来做到这一点并显示确认消息 - 带有引导警报。一切都应该在不刷新页面的情况下完成。
问题是我找不到将变量从下拉列表传递到 PHP 而无需通过 POST 刷新页面的解决方案。
我正在尝试做这样的事情:
<!-- AJAX which hide the DIV -->
<script>
$(document).ready(function(){
$("#message").hide();
$('#status li').click(function () {
$("#message").show();
$("#success-alert").load('<?php echo base_url() ?>/changestatus/150/', {my_var : $("#my_var").val()});
$("#message").fadeTo(2000, 500).slideUp(500, function(){
$("#message").hide();
});
});
});
</script>
在上面的代码中,我想要一个类似的链接:/changestatus/150/2 其中 150 是示例潜在客户 ID,2 是从下拉列表中选择的新状态。
<!-- Alert DIV, which is hidden on load -->
<div id="message">
<div class="alert alert-success" id="success-alert">
<button type="button" class="close" data-dismiss="alert">x</button>
<strong>OK! </strong>
The changes has been done :-)
</div>
</div>
<!-- Dropdown menu -->
<div class="btn-group" id="myDropdown">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
Menu
<span class="caret"></span>
</a>
<ul class="dropdown-menu" id="status">
<li><a href="#">Chg status to 1</a></li>
<li><a href="#">Chg status to 2</a></li>
<li><a href="#">Chg status to 3</a></li>
</ul>
</div>
在上面的下拉列表中,我不知道将 ID 号 1、2、3 放在哪里。 以及当用户单击选项时如何将其作为 my_var 发送到 AJAX ..在我的控制器中运行
<?
public function changestatus($lead_id)
{
//read a new status from segment in link...
$new_status = $this->uri->segment(4),
//...or from POST
if(isset($_POST['my_var']))
{
$new_status = $_POST['my_var'];
}
// then will be some call to model which mades changes to DB
echo '...done';
}
?>
我花了一整天的时间试图做没有成功,如果可以的话请帮忙:)
【问题讨论】:
标签: php ajax twitter-bootstrap codeigniter