我有這個fiddle它在添加靜態複選框時起作用。 我創建的複選框,手風琴面板,像這樣:Javascript - 動態添加複選框不按預期在Kendo面板欄標題中工作
liID = "tab" + x;
$("<li id = '"+ liID +"' class='k-item k-last k-state-default' aria-expanded='false'><input type='checkbox' id='c" + x + "' class='cbSelect' /><label for='c" + x + "'><span id='cbSelect" + x + "'></span>" + liID + "</label></li>").appendTo("#panelbar");
上述x值是for
循環variable
。
我已經使用下列樣式上的複選框:
input[type="checkbox"]
{
display:none;
}
input[type="checkbox"] + label span
{
display:inline-block;
width:14px;
height:14px;
margin:-1px 4px 0 0;
vertical-align:middle;
background:url('../images/checkBox.png') right top no-repeat;
cursor:pointer;
float:right;
margin-top:10px;
margin-right:10px;
}
input[type="checkbox"]:checked + label span
{
background:url('../images/checkBox.png') -1px top no-repeat;
}
以上checkbox.png圖片如下:
該款顯示器的複選框,但不允許檢查事件時點擊,因爲它在允許之前首先打開標籤。
我已經嘗試使用以下:
$("#panelbar").on("click", "input.cbSelect", function(evt)
{
evt.stopPropagation();
});
,但我不知道我是否正確連接它,因爲這與我所用display:none;
當隱藏在正常的複選框鏈接正常複選框與新樣式的複選框一起顯示,並且當點擊原始複選框時,它按預期工作。 除了點擊原始複選框,我希望能夠點擊新創建的複選框並在其上使用stopPropagation。
這是第一個問題,下一個就是我創建一個複選框,像這樣的網格:
var chkBox = "<input type='checkbox' id='cUpload1' class='cbSelect' /><label for='cUpload1'><span id='cbSelectUpload'></span>test1</label>";
然後試圖將其添加到一個簡單的dataSourse像這樣:
var uploadedFiles =
[
{
facility: "Sunrise medical Laboratories",
documentName: "Lab Results",
documentType: "PDF",
selected: chkBox
}
];
用於上述複選框的樣式不會應用於複選框,因爲不會顯示任何內容。
任何想法,爲什麼它不工作?
順便說一句,我想實現以上所有到這fiddle。 上面的編碼目前不在提琴中。
任何幫助將不勝感激!