首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

jquery调用ashx文件中返回值的有关问题

2013-04-20 
jquery调用ashx文件中返回值的问题js:控件:input typetext onblurcheckdata(this) idwldm+ newRow

jquery调用ashx文件中返回值的问题
js:
控件:<input type=text onblur="checkdata(this)" id="wldm'+ newRowIndex +'" name="wldm'+newRowIndex+'"/>
注:控件id是动态生成

function checkdata(obj)
{
var tb_id=obj.id;
var tb_text=obj.value;
 $("#ctl00_ContentPlaceHolder1_ddl_DP").empty();               
            $.getJSON("DPData.ashx?value="+tb_text+"&para=" + Math.random().toString(),null,function(json){
            $.each(json,function(i){$("#"+tb_id).val(json[i].ID);});
            });
   
}



ashx文件:
public class DPData : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        context.Response.Write(Result(context));
    }
 
        public StringBuilder Result(HttpContext context)
    {   
string connect = System.Configuration.ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
        SqlConnection con = new SqlConnection(connect);
        con.Open();
        string value = context.Request.QueryString["value"];
        string sql = "select ID,DPName from DPTable where id='" + value + "'";
        SqlDataAdapter dap = new SqlDataAdapter(sql, con);
        DataSet ds = new DataSet();
        dap.Fill(ds, "Table");
        StringBuilder strClass = new StringBuilder();
        if (ds.Tables[0].Rows.Count > 0)
        {
            strClass.Append("[");
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                strClass.Append("{");
                strClass.Append(""ID":"" + ds.Tables[0].Rows[i]["ID"].ToString() + "",");
                strClass.Append(""DPName":"" + ds.Tables[0].Rows[i]["DPName"].ToString() + """);

                if (i != ds.Tables[0].Rows.Count - 1)
                {
                    strClass.Append("},");


                }
            }
        }
        strClass.Append("}");
        strClass.Append("]");
        context.Response.ContentType = "application/json";
        context.Response.ContentEncoding = Encoding.UTF8;
        context.Response.Write(strClass.ToString());
        context.Response.End();
        return strClass;
    }
大侠们帮忙看看,第一次用jquery写东西,上面的代码无法赋值

不使用返回值json[i].ID,直接$("#"+tb_id).val(“jquery”),这样能赋上值。但给DropDownlist控件赋值是能赋上去的
 $("#ctl00_ContentPlaceHolder1_ddl_DP").empty();               
            $.getJSON("DPData.ashx?value="+tb_text+"&para=" + Math.random().toString(),null,function(json){
            $.each(json,function(i){$("#ctl00_ContentPlaceHolder1_ddl_DP").append($("<option></option>").val(json[i].ID).html(json[i].DPName))});
            });
            $("<option></option>").val("").html("").appendTo("#ctl00_ContentPlaceHolder1_ddl_DP"); JSON .NET JS
[解决办法]
进$.each(json,function(i){...}里吗?
你加个alert看看
[解决办法]


function checkdata(obj)
{
 $("#ctl00_ContentPlaceHolder1_ddl_DP").empty();               
$.getJSON("DPData.ashx?value="+$(obj).val()+"&para=" + Math.random().toString(),null,function(json){
            $.each(json,function(i){
$(obj).val(json[i].ID);
}
);
        }
);
}

这样试试?
[解决办法]
$.each(json,function(i){$("#"+tb_id).val(json[i].ID);});
这个你想表达什么呢?不停的附值?each==foreach==for(var i=0;i<json.length;i++)

热点排行