从选择框中调用jquery ajax

时间:2010-12-29 14:54:52

标签: jquery

如何使用jquery从选择框的onchange事件进行ajax调用?如果有人有样品, 请发布代码。

2 个答案:

答案 0 :(得分:14)

以下代码基于spring mvc架构,

$('#selectbox1').change(function() {
    var data = "";
    $.ajax({
        type:"GET",
        url : "controller mapping",
        data : "selectbox1_selectedvalue="+$(this).val(),
        async: false,
        success : function(response) {
            data = response;
            return response;
        },
        error: function() {
            alert('Error occured');
        }
    });
    var string = data.message.split(",");
    var array = string.filter(function(e){return e;});
    var select = $('selectbox2');
    select.empty();
    $.each(array, function(index, value) {          
        select.append(
                $('<option></option>').val(value).html(value)
            );
    });
        $('#selectbox2').show();
});

在html中,我使用如下所示来显示selectbox2值,

<tr>
    <select id="selectbox1">
        <option value="value1">value1</option><option value="value2">value2</option>
    </select>
    <select id="selectbox2"></select>
</tr>

在selectbox2中,使用ajax调用从控制器加载值,在控制器i中返回如下所示,

    List<String> listvalues = listService.retrieveAll(searchTerm); // searchTerm is a selected value from selectbox1
String dummy = "";
for(int i=0; i<listvalues.size(); i++)
{
    dummy += listvalues.get(i)+",";
}
MessageValue messageValue = new MessageValue(dummy);
return messageValue;

答案 1 :(得分:10)

$("#selectboxid").change(function() {
  $.ajax({ url: "test.html", context: document.body, success: function(){
    $(this).addClass("done");
  }});
});