我试图产生一系列的复选框,将更新的跨度来跟踪已经被选中(复选框数显示类似“12 4检查” )。我创建了JavaScript函数updateSelected
它处理的是,但它需要的跨度和类的复选框来算的ID,所以我想这个代码来生成每个复选框:Html.CheckBox onclick事件是越来越逃脱
@Html.CheckBox(string.Format("contentprofilestate[{0}].selected", i),
new { onclick = "updateSelected('" + selectedSpanId + "', '" + checkboxClass + "')" })
这将产生下面的HTML:
<input id="contentprofilestate_6__selected" name="contentprofilestate[6].selected"
onclick="updateSelected('StMarySpan', 'StMaryCheck')"
type="checkbox" value="true" />
我怎样才能获得onclick
事件处理程序,以使没有逃脱撇号?或者,有没有更好的方法来完成这个任务(如果是这样,请随意在您的建议中使用jQuery)?
注重:莱斯特
我创建了一个新的项目,并创造了这个观点,它仍然逃脱撇号:
@{
ViewBag.Title = "index";
}
<h2>index</h2>
@Html.CheckBox(string.Format("contentprofilestate[{0}].selected", 0), new { onclick = "updateSelected('" + "test" + "', '" + "test2" + "')" })
替代的解决方案
我没能找出如何保持从被转义撇号,所以我写了一些jQuery的逻辑做什么,我需要没有任何内嵌JavaScript:
jQuery(document).ready(function() {
jQuery(':checkbox').click(function() {
var clientHeader = jQuery(this).closest('.client-header');
var clientCheckedSpan = clientHeader.find('.client-checked');
var inputChecked = clientHeader.find('input:checked');
clientCheckedSpan.text(inputChecked.length);
});
});
是功能实际上是被称为? – Pbirkoff 2012-01-12 23:25:06
没有,但是那是因为内嵌的JavaScript未正确输出。如果我可以通过onclick处理程序正确调用updateSelected(),我很自信。 – 2012-01-13 04:36:56