静的チェックボックスを追加するときに機能するこのフィドルがあります。 次のように、アコーディオン パネルのチェックボックスを作成しています。
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
loopvariable
です。
チェックボックスで次のスタイルを使用しました。
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
}
];
上記のチェックボックスに使用されるスタイルは、何も表示されないため、チェックボックスには適用されません。
それが機能しない理由はありますか?
ところで、私は上記のすべてをこのフィドルに実装しようとしています。上記のコーディングは現在フィドルにはありません。
どんな助けでも大歓迎です!