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.NETJS

解决方案 »

  1.   

    进$.each(json,function(i){...}里吗?
    你加个alert看看
      

  2.   


    $.each(json,function(i){$("#"+tb_id).val(“jquery”);});
    这样是可以赋值的,说明可以进到function里面去
      

  3.   


    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);
    }
    );
            }
    );
    }这样试试?
      

  4.   

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

  5.   

    问题解决了
    var tb_text=obj.value;          
                $.getJSON("DPData.ashx?value="+tb_text+"&para=" + Math.random().toString(),null,function(json){
                $(obj).val(json[0].DPName);
                });
    谢谢各位的好心帮忙,分不多,每人一点了,再次感谢了