通过jquery发送字段集值

时间:2011-11-21 06:55:38

标签: c# jquery asp.net

看看这段代码:

[WebMethod]
public static string GetFacilities(string id)
{
    int hotelid = System.Convert.ToInt32(Tools.DecryptString(id));

    string ret = "";

    foreach (var item in new FacilityGroupBL().Load())
    {
        if(item.Facilities.Count != 0)
        {
            ret += "<fieldset>";
            if (item.Facilities.Count() != 0)
            {
                foreach (var subitem in item.Facilities)
                {
                    if (subitem.HotelFacilities.Where(obj => obj.HotelId == hotelid).Count() != 0)
                        ret += "<input type='checkbox' checked='false' />" + subitem.Name;
                    else
                        ret += "<input type='checkbox' checked='true' />" + subitem.Name;
                }
            }
            else
            {
                ret += "There is no facility in this fieldset.";
                ret += "</fieldset>";
            }
        }
    }

    return ret;

}

通过这段代码我在DIV中加载一些复选框,然后用户更改一些复选框并按下SAVE按钮。此时,我应该将这些复选框的值发送到服务器以更新我在数据库中的数据。我不知道怎么?:(请帮忙

注意:此probem的默认代码在这里,但不起作用($(“#FacilitiesDIV input [type = checkbox]”)。serializeArray()为空)

$.ajax({
    type: "POST",
    url: "HotelsList.aspx/SaveFacilities",
    data: "{ 'id' : '" + $("#HiddenField").val() + "', 'Facilities' : '" + $("#FacilitiesDIV input[type=checkbox]").serializeArray() + "' }",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (data) {

    },
    error: function () {
        $('#dialogMessage').dialog('open');
        $('#dialogMessage span').html("Operation Error");
    }
});

2 个答案:

答案 0 :(得分:2)

$(“#FacilitiesDIV input [type = checkbox]”)。serializeArray(),因为你使用“#”引用元素,那么你需要给fieldset元素一个唯一的ID,假设你有 html喜欢

 <fieldset>  <input type='checkbox' checked='false' /> some text
             <input type='checkbox' checked='false' /> some text 
    </fieldset>

set the id to element <fieldset id = 'FacilitiesDIV'>

答案 1 :(得分:0)

我相信如果你给每个复选框命名,它应该有效,即:

<input type='checkbox' checked='false' name="mycheckboxes" />