1

HTML にチェックボックスを動的に追加していますが、jquery はスタイルを更新しません。同様の問題について読み、親で .trigger("create") を呼び出そうとしましたが、まだ機能しません。以下はフィドルの内容です:http://jsfiddle.net/ftraian/A4duX/1/

<div id="checkboxes"></div>
Enter new labels here: <textarea></textarea>

そして、テキストエリアからラベルを読み取り、それらをチェックボックス div に追加するスクリプト:

var index = '1';

$(document).ready(function () {
    var text = 'Predifined label';
    var cbElem = $("<input type=\"checkbox\" id=\"" + index + "\">");
    var labelElem = $("<label for=\"" + index + "\">" + text + "</label>&nbsp;");
    $('#checkboxes').append(cbElem, labelElem);
    $('#checkboxes').buttonset();
});

$('textarea').bind("enterKey", function () {
    index++;
    var text = $('textarea').val().replace(/(\r\n|\n|\r)/gm, "");
    var cbElem = $("<input type=\"checkbox\" id=\"" + index + "\">");
    cbElem.button();
    var labelElem = $("<label for=\"" + index + "\">" + text + "</label>&nbsp;");
    $('#checkboxes').append(cbElem, labelElem);
    $('#checkboxes').trigger("create");
    $('textarea').val('');
});
$('textarea').keyup(function (e) {
    if (e.keyCode == 13) {
        $(this).trigger("enterKey");
    }
});
4

1 に答える 1

0

デモ

次の行を削除します。

cbElem.button();

bind()イベントの最後に、次の行を追加します。

$('#checkboxes').buttonset();

補足: bind()jQuery 1.7 から廃止され、on使用する必要があります (ただし、それは問題の原因ではありません)。

于 2013-10-14T07:48:01.170 に答える