Kendo ui 能否实例化页面加载后动态创建的剑道ui对象?
我已经成功地在移动应用程序中使用了剑道UI小部件。但是,我当前的应用程序要求动态加载和使用各种UI元素。我尝试过动态实例化剑道UI小部件,如下所示:Kendo ui 能否实例化页面加载后动态创建的剑道ui对象?,kendo-ui,kendo-mobile,Kendo Ui,Kendo Mobile,我已经成功地在移动应用程序中使用了剑道UI小部件。但是,我当前的应用程序要求动态加载和使用各种UI元素。我尝试过动态实例化剑道UI小部件,如下所示: <ul id="my_ul" > <script>$('#my_ul').kendoListView().style("inset");</script> <li> <label>Label 1: <input id="dynamicLI1" type="te
<ul id="my_ul" >
<script>$('#my_ul').kendoListView().style("inset");</script>
<li>
<label>Label 1:
<input id="dynamicLI1" type="text" name="dynamicLI1" value="" />
</label>
</li>
<li>
<label>Label 2:
<input id="dynamicLI2" type="text" name="dynamicLI2" value="" />
</label>
</li>
</ul>
在脚本运行时,尚未创建
元素。
尝试将脚本标记移动到
<ul id="my_ul" >
<li>
<label>Label 1:
<input id="dynamicLI1" type="text" name="dynamicLI1" value="" />
</label>
</li>
<li>
<label>Label 2:
<input id="dynamicLI2" type="text" name="dynamicLI2" value="" />
</label>
</li>
</ul>
<script>$('#my_ul').kendoListView().style("inset");</script>
它应该初始化HTML中声明的任何/所有小部件和MVVM绑定。您的第一个建议似乎有效。不幸的是,当我将ul初始化为KendoUI对象时,它将不再显示。我不知道这是为什么。我正在Cordova应用程序中使用它。你能分享更具体的代码吗?如何将HTML添加到DOM?我更新了问题。代码中还有其他有用的部分吗?另外,我在Cordova应用程序中使用了这个。你的更新似乎也不起作用。它显示响应而不初始化为剑道对象。我正在Cordova应用程序中使用剑道。
<ul id="my_ul" >
<li>
<label>Label 1:
<input id="dynamicLI1" type="text" name="dynamicLI1" value="" />
</label>
</li>
<li>
<label>Label 2:
<input id="dynamicLI2" type="text" name="dynamicLI2" value="" />
</label>
</li>
</ul>
<script>$('#my_ul').kendoListView().style("inset");</script>
// create new elements
var $list = $('<ul>...rest of html string...</ul>');
var $view = $('#myView');
// add elements to DOM
$view.append($list);
// init kendo list view
$list.kendoListView({
style: inset
});
<ul id="my_ul" data-role="listview" data-style="inset" >
<li>
<label>Label 1:
<input id="dynamicLI1" type="text" name="dynamicLI1" value="" />
</label>
</li>
<li>
<label>Label 2:
<input id="dynamicLI2" type="text" name="dynamicLI2" value="" />
</label>
</li>
</ul>
if(res) {
$("#dynamic").html(res);
kendo.bind($("#dynamic"), {}, kendo.mobile.ui);
} else {