2012-03-07 72 views
0

我发送一个ajax请求到asp.net中的web方法,它返回一个包含html标签的字符串。 C#代码是如下 -jquery - 从asp.net动态添加选择选项作为html字符串 - 不工作

string str=""; 
for(int i=0; i<=9; i++) 
{ 
    str += "<option value='2'>One</option>"; 
} 
return str; 

在查询我收到使用jquery如下这个响应数据&我加入这对一个HTML选择。

var optionsHtml = data.d.split(":");  
$('#ddlCartons").html(optionsHtml); 

但是,这是直接从jquery.js和给人一个错误文件 -

Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild] 

但是,不是optionsHtml,如果硬编码字符串赋予相同的 -

$('#ddlCartons").html("<option value='2'>Hii</option><option value='2'>Hii</option><option value='2'>Hello</option>"); 

是工作正常。 那么,出现错误是怎么回事?

+0

为什么你与分裂 “:”? – 2012-03-07 11:29:00

回答

2

我所看到的是,问题是你已经使用分割功能,什么是分裂的,你可以直接添加您从功能接收字符串..直接去这样做的必要性:

$('#ddlCartons").html(data.d); 
0

通过使用分割功能,您正在创建一个数组'optionsHtml'。这不能用于设置#ddlCartons的HTML属性。

使用data.d$('#ddlCartons").html(optionsHtml[0]);