从ajax请求获取值到隐藏字段

时间:2012-05-08 09:37:28

标签: jquery asp.net

我想将从webservice返回的值存储到jquery

中的隐藏字段
  $.ajax({
        type: "POST",
        url: "/AutoComplete.asmx/CompareGroupName",
        data: { Text: text },
        dataType: "json",
        onfocusout: function (element) {
            $(element).valid();
            $(element).filter('.valid').qtip('destroy');
        },
        success: function (data) {
            response($.map(data.d, function (item) {
                return {
                    value: item.igroup_id

                }
                $('#hdnGroupNameCheck').val = item.igroup_id;

            }))
        },


        complete: function (xhr) {
            if (xhr.status == 200) {
                alert("Group Name already exist");


            }
            else
                alert("Group Name does not exist");
        }

    });

我正在使Group已经存在且Group不存在且webservice正常运行。 但是如何在隐藏字段中获取id并通过asp.net中的代码显示相同的消息。

由于

2 个答案:

答案 0 :(得分:1)

好吧,我担心我不明白你想要什么。 但是,从您的代码中,我看到以下错误: $('#hdnGroupNameCheck')。val = item.igroup_id;

jQuery对象方法val()应该按以下方式使用: $( '#hdnGroupNameCheck')VAL(item.igroup_id);

添加更多想法。 : - )

我看到你将返回类型设置为JSON。 如果服务器端代码未返回正确的JSON格式数据,则不会执行成功回调。

另外,当我输入评论时,请确保在

之前不会出现任何Javascript错误
$('#hdnGroupNameCheck').val(item.igroup_id);

如果您使用Google Chrome网络浏览器,您可以使用它的优秀开发人员工具来检测更多内容。 :d

答案 1 :(得分:0)

  function ontextchange() {
    if ($('#<%=txtGroupName.ClientID %>').val() != "") {
        $('#<%=lblGroupName.ClientID %>').text($('#<%=txtGroupName.ClientID %>').val());
    }
    var text = $('#<%=txtGroupName.ClientID %>').val();

    $.ajax({
        type: "POST",
        url: "AutoComplete.asmx/CompareGroupName",
        data: "{'Text':" + JSON.stringify(text) + "}",
        // async: false,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: comparegroup,
        error: function (msg) {
            return false;
        }

    });
    return false;

}

function comparegroup(msg) {
    populatecontrol(msg.d, $("#<%=lblGroupNameCheck.ClientID %>"));

}

function populatecontrol(list, control) {
    var id = 0;
    var GroupName = document.getElementById('<%=hdnGroupNameCheck.ClientID %>');
    if (list.length > 0) {
        $.each(list, function (key, value) {
            var obj = JSON.parse(value);
            document.getElementById('<%=hdnGroupNameCheck.ClientID %>').value = obj.Second;
            $('#lblGroupNameEdit').show();
            control.html("Group already exist.Click here to");
            $('#<%= lblGroupNameEdit.ClientID%>').text("edit or");
            $('#<%= lblGroupNameInquire.ClientID%>').text("inquire");

        });
        return false;
    }
    else
        $('#<%= lblGroupNameCheck.ClientID%>').text("");
        $('#<%= lblGroupNameEdit.ClientID%>').text("");
        $('#<%= lblGroupNameInquire.ClientID%>').text("");
    }