我有一个包含3个值的下拉菜单。每个都有option
个ID。我想根据该请求的响应发出ajax请求并更新div
。
我在jsbin上有示例代码,我试图向imdb发出ajax请求。我不想从imdb解析响应,但希望有人告诉我如何根据imdb的响应更新div。这只是一个示例,因为我试图在我的应用程序中实现类似的东西...唯一的区别是,不是回调imdb而是回调我的应用程序。
请参阅example
答案 0 :(得分:3)
类似的东西:
$('select').change(function() {
$('#yourdiv').load('to/your/page', {value: $(this).val()});
});
每当to/your/page?value=theSelectValue
元素的值发生变化时,这将发送GET请求(select
),并在ID为div
的{{1}}中加载回复。
当然你必须调整选择器和参数名称。
如果您想发出POST请求,可以使用yourdiv
函数进行回调:
$.post()
答案 1 :(得分:2)
首先,您需要查看http://code.google.com/p/imdb-api/或其他api实现以访问IMDB信息。与在IMDB上实际查找页面并解析html结果相比,这是一种更好的方法。
这是您可以选择并向服务器发出请求以使用IMDB API查找电影信息的方法:
<script>
$(document).ready(function(){
$("#drop-down").change(function(){
$.ajax({
type: "POST",
url: "serverCodeToGetIMDBLookup.php",
data: "movie="+$("#drop-down").val(),
success: function(msg){
//process return msg here with movie information
}
});
});
});
</script>
仅获取IMDB页面:
$("#drop-down").change(function(){
$('#result').load('someIMDBPage.html', function() {
alert('Load was performed.');
});
});
答案 2 :(得分:1)
用户jquery的load
例如
$("#drop-down").change(function(){
$('#result').load('http://www.imdb.com/title/' + this.id + '/');
});
答案 3 :(得分:0)
为什么不使用jQuery中的.ajax方法?这是一个例子:
$.ajax({
type: "POST",
url: "YOUR_URL",
data: { query: $('input#query').val() }, //this is example only
ontentType: "application/json; charset=utf-8",
dataType: "json", //you can change to html
success: function(result) { $('#div_id').html(result)},
error: function(xhr, ajaxOptions, throwError) {
alert(throwError);
}
});