使用jQuery从选择列表中检索数据并通过AJAX发送到服务器

时间:2013-05-16 14:52:14

标签: jquery

我有一个选择列表,其中包含我需要发送到服务器端脚本的ID信息。

我的服务器端脚本正在运行,并且有一个具有属性的对象:GroupId,isManagement和isHourly。

出于某种原因,我的jQuery总是发送一个空对象。 AJAX请求错误,说我的对象是空的。

所以我的问题是,我的jquery代码是否正确地从我的选择列表中检索数据?

谢谢!

以下是HTML示例:

<select id="groupList">
    <option id="39238">Group 1</option>
    <option id="95833">Group 2</option>
    <option id="38911">Group 3</option>
</select>

<input type="button" id="btnSend" value="Send Data" />

这是我的jQuery

$("#btnSend").on("click", function () {

    var data = $.map($("#groupList option"), function (e, i) {
      return {
                   GroupId: i.id,
                   isManagement: True,
                   isHourly: False
             }
    });  

    $.ajax({
        type: "POST",
        url: url,
        data: data,
        success: function () {

        },
        error:function(xhr,err){
           alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
           alert("responseText: "+xhr.responseText);
        }
    });

 });

1 个答案:

答案 0 :(得分:1)

应该是另一种方式,你试图从索引i获取id。第一个参数是$ .map中的数组元素和第二个参数索引。

var data = $.map($("#groupList option"), function (ob, i) {
      return {
                   GroupId: ob.id,
                   isManagement: true, // unless True is a variable
                   isHourly: false //unless False is a variable.
             }
    });