用动态标签加载表单

时间:2013-02-21 12:24:34

标签: javascript jquery asp.net html

我需要加载一个带有dynamyc标签的表单,读取XML以确定标签的数量。 我有一个“标签模板”,每个标签都是用这个代码编写的。 第一个问题是字段的id。如果我有2个(或更多)选项卡,则每个选项卡字段具有相同的ID,我无法获取/设置它们。

对于创建标签,我使用html函数,如下所示:

var divtab1 = $("#tab1").html();
var tabCode = "<div id='tab"+ i +"' class='tab_content'> "+ divtab1 +"</div>";
finalhtml = finalhml + tabCode;

其中#tab1是'标签模板',我为每个标签执行此操作。 最后我把finalhtml放在div中。

$("#bodyTabs").html(finalhtml);

标签很好,但是像datepickers和ckeditors(文本编辑器)这样的功能不起作用。

我不知道如何动态更改字段ID,并且不知道这种方式是否最佳。

有什么建议吗?

非常感谢!

3 个答案:

答案 0 :(得分:1)

尝试

$('#ID').attr('id', 'ID2');

更改ID

答案 1 :(得分:0)

每当我们使用日期选择器或任何编辑器时,我们必须初始化文档就绪事件。 因此,我建议无论何时更改选项卡内容,只需调用受尊重的控制器的Init方法,事情就会按预期工作。

干杯

答案 2 :(得分:0)

最后,我找到了一个很好的解决方案。使用c#我构建一个for和每次迭代我做:

<%     List<String> Idiomas = loadIdiomas();
       foreach (String idioma in Idiomas)
       { %>
       <div id="tab_<%=idioma%>" class="tab_content">
            <input type="text" name="<%=idioma%>_title" id="<%=idioma%>_title"  />
             ...

通过这种方式,每个选项卡都有不同的id字段,避免使用javascript。它更优雅,解决了日期选择器和文本编辑器的问题。

感谢大家的回答:)