我試圖產生一系列的複選框,將更新的跨度來跟蹤已經被選中(複選框數顯示類似「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