【发布时间】:2014-03-30 20:26:58
【问题描述】:
我是几天前开始使用 laravel 4 的新手。我的问题很简单,我有一个组合框,客户端或用户更改并呈现“部分”视图。
这是我的第一个观点。改变:
将通过 javascript 呈现该简单消息
我的问题是,如果我“手动”放置值,它只会显示部分视图:
这是我在控制器中的功能
public function getTeste1() {
$id = Input::get('value');
if($id=="")
{
$this->layout->content = View::make('home.user');
}
else
{
$this->layout->content = View::make('home.user2')->with('ides',$id);
}
}
这是我的 javascript 函数:
function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var url="";
url="?value="+str;
//url=url+"&sid="+Math.random();
// alert(url);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(true);
}
这是我的看法:
<h1>Home</h1>
<p>Welcome to your Home. You rock!</p>
<form>
<select name="users" onchange="showCustomer(this.value)">
<option value="0">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<div id="txtHint"></div>
这是我的部分观点:
@if($ides!=0)
<div id="txtHint"> <b>Person info will be listed here -> {{ $ides }} </b></div>
@endif
我知道我为什么会遇到这个问题,如果你们知道这将非常有帮助,或者其他方式去做的话,我不知道如何避免它。
谢谢,
贡萨洛·莫拉
编辑: 如果我使用您的解决方案,它将显示如下:
StateChanged 函数:
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
// alert(document.getElementById("txtHint").innerHTML);
}
}
jquery函数:
<script>
$(document).ready(function() {
$("#users").change(function() {
$.get('http://localhost/LoginProject/public/home/teste1?value=' + $(this).val(), function(data) {
$("#txtHint").html(data);
});
});
});
</script>
【问题讨论】:
-
你能显示
stateChanged函数吗?
标签: javascript php ajax laravel