我有这个在添加静态复选框时有效的小提琴。 我正在为手风琴面板创建复选框,如下所示:
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
}
];
用于上述复选框的样式未应用于该复选框,因为没有显示任何内容。
任何想法为什么它不起作用?
顺便说一句,我正在尝试将上述所有内容实现到这个小提琴中。上面的编码目前不在小提琴中。
任何帮助将不胜感激!