我通过ajax调用添加到元素列表中。 ajax调用向控制器发送信息,控制器将所有内容添加到数据库,然后从数据库中获取列表的所有项目,将项目添加到视图模型,然后返回模型的局部视图。我清除列表的div容器然后添加返回的HTML。
$('#container').empty().html(result);
我的问题是,在HTML中,我有Kendo Datepickers。页面加载正常,如果我刷新一切都很好。但是在Ajax通话之后,Kendo Datepickers就不存在了。我调试并从ajax调用获得结果HTML,以下是为datepickers显示的内容:
jQuery(function(){jQuery("#dueDate0").kendoDatePicker({"format":"M/d/yyyy","min":new Date(1900,0,1,0,0,0,0),"max":new Date(2099,11,31,0,0,0,0)});});
'dueDate0'显然是元素的ID,但它不应该为零,它应该是一个实际的ID号(例如12)。当我在AJAX调用之后查看HTML时,日期选择器只是具有日期类型的输入元素。
有关该怎么做的任何建议?
由于
编辑:这是在AJAX调用中返回的HTML。
<div id="accordion">
<div class="ItemList">
<table class="tblPriorityElement">
<tr>
<td class="tdPrioritySelect">
<div class='handle'><span class='ui-icon ui-icon-carat-2-n-s'></span></div>
</td>
<td class="tdPriorityName">fasdfasr4</td>
<td class="tblType" tabindex="0">
<span class="txtType">Project</span>
</td>
<td class="tdPriorityDate" tabindex="0">
<time>10/8/2013</time>
</td>
<td class="tdAllocation" tabindex="0">
<span class="txtAllocation">0 hrs</span>
</td>
<td class="tdDeletePriority">;
<a href="#"><img src="../../Images/redx.png"/></a>
</td>
</tr>
</table>
<div class="content">
<form class="editItem">
<input id="ItemID" name="ItemID" type="hidden" value="0" />
<label>Name:</label>
<input class="text-box single-line" id="Item_Name" name="Item.Name" type="text" value="fasdfasr4" />
<label>Type:</label>
<input class="text-box single-line" id="Item_Type" name="Item.Type" type="text" value="Project" />
<label>Due date:</label>
<input class="k-input" id="dueDate0" name="dueDate0" type="date" value="10/8/2013" />
jQuery(function(){jQuery("#dueDate0").kendoDatePicker({"format":"M/d/yyyy","min":new Date(1900,0,1,0,0,0,0),"max":new Date(2099,11,31,0,0,0,0)});});
<br/>
<label>End Date:</label>
<input class="k-input" id="endDate0" name="endDate0" type="date" />
jQuery(function(){jQuery("#endDate0").kendoDatePicker({"format":"M/d/yyyy","min":new Date(1900,0,1,0,0,0,0),"max":new Date(2099,11,31,0,0,0,0)});});
<label>Start Date:</label>
<input class="k-input" id="startDate0" name="startDate0" type="date" value="10/8/2013" />
jQuery(function(){jQuery("#startDate0").kendoDatePicker({"format":"M/d/yyyy","min":new Date(1900,0,1,0,0,0,0),"max":new Date(2099,11,31,0,0,0,0)});});
<br/>
<input type="submit" value="save"/>
</form>
</div>
</div>
</div>
答案 0 :(得分:1)
生成局部视图时,只需为datepicker定义某种随机ID - 例如Guid.NewGuid()或其他东西。你使用MVC帮助器来定义datepicker吗?