2011-11-01 37 views
0

我正尝试使用以下语法填充aspx页面中的服务器端下拉列表的客户端下拉列表。但这似乎没有做任何事情。使用jquery/javascript填充aspx页面中的服务器端下拉列表的客户端下拉列表

$('#' + '<%= ddClassMain.ClientID %>').find("select").clone().appendTo($('ddClass01')) 

我在其中被触发的onchange另一个客户方的文本框()事件的JavaScript函数嵌入此。

我知道select不是aspx下拉列表的属性。但使用find(“ListItem”)似乎也不起作用。 请随时提出解决方案或解决方法。

回答

1

我认为appendTo中的参数有一个错误的选择器。是ddClass01 a class,然后使用$('.ddClass01')。如果ddClass01id,则使用$('#ddClass01')

+0

谢谢。我试图做这样的工作: '$('#<%= ddClassMain.ClientID%>')。find(“select”)。clone()。appendTo($('#ddClass01')); “ 但Rozhovetskiy先生的解决方案工作。虽然你的解决方案部分正确。我在追加时犯了一个错误。 – pl56

2
$('#<%= ddClassMain.ClientID %> > option').clone().appendTo("#ddClass01"); 

与您所选择的所有儿童的ddClassMain select控制的option元素此选择的表达。 find('select')方法在这里毫无意义,因为您不需要将整个下拉列表复制到ddClass01,而只需要复制他的选项。

+0

谢谢先生。您的解决方案奏效你能解释一下 '> option'是做什么的,为什么你删除.find('select') – pl56

+0

@Sameer Shah,我已经更新了解答 –

+0

好吧。是的,找到('select')没有任何意义。为了澄清我的语法理解,我使用了以下工作 '$('#<%= ddClassMain.ClientID%>')。find(“option”)。clone()。appendTo($('#ddClass01') );' 现在,我明白,就像在C中一样,'> bar'与'.find('bar')'相同。 再次感谢您的解释。 – pl56