如何根据下拉选择使用jquery更新div

时间:2010-08-03 18:51:22

标签: jquery ajax

我有一个包含3个值的下拉菜单。每个都有option个ID。我想根据该请求的响应发出ajax请求并更新div

我在jsbin上有示例代码,我试图向imdb发出ajax请求。我不想从imdb解析响应,但希望有人告诉我如何根据imdb的响应更新div。这只是一个示例,因为我试图在我的应用程序中实现类似的东西...唯一的区别是,不是回调imdb而是回调我的应用程序。

请参阅example

4 个答案:

答案 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()

参考: .change().val().load()$.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);
        }
    });