2

jsfiddleを参照してください

各配列の出力チェックボックスが必要です。

  1. 配列を作成するには?
  2. 一意の名前のチェックボックスを配列に追加する方法は?

テキストボックスにあるものは何でも、単語を区切り、チェックボックスに変換します

jQuery:

$(document).ready(function () {
    $(".step1_btn").click(function () {
        var text = $(".source").text();
        text = text.replace(/\W+/g, ',');
        $('.splited').html(text);
    });
});

HTML:

<textarea class="source">Jusf to clarify, I will to have strings of varying</textarea>
<button type="button" class="step1_btn">Display Date</button>
<div id="demo" class="splited"></div>
4

4 に答える 4

2

テキストボックス内の単語を別々のチェックボックスに分割しようとしていると思いますが、これはそれを行います:

$(".step1_btn").click(function () {

    var text = $(".source").text();
    var parts = text.split(" ");

    for (var i = 0; i < parts.length; i++) {
        var input = "<input type='checkbox' value='" + i + "'/>";
        var cbLabel = "<label>" + parts[i] + "</label>";
        $("#demo").append(input + cbLabel);
    }
});

デモ: http://jsfiddle.net/JWPZh/2/

于 2013-07-19T14:01:57.060 に答える
1

次のようなものを試すことができます

 $(".step1_btn").click(function () {

        var text = $(".source").text();

        text = text.replace(/\W+/g, ',');

        $('.splited').html(text);

        $.each(text.split(','), function (index, value) {
            // Check if it is already added
            if (!$("#" + value).length) {
               // Dont exist add new one
               $("#demo").append("<input id=" + value +  " type='checkbox' value='"+ value+"' />" + value );
            }
        });

    });
于 2013-07-19T14:01:43.763 に答える
1

私はあなたの質問を次のように解釈しました。

  1. 単一の空のスペースを区切り文字として使用して、textarea 要素内のテキストを分割します。
  2. 結果の配列を使用して、入力要素とそれぞれのラベル要素を作成します。

この場合、以下のコードでニーズを満たすことができます。

$(document).ready(function () {
    $('.step1_btn').on('click', function () {
        var counter = 0,
            fragment = document.createDocumentFragment(),
            parts = $('.source').text().split(' '),
            length = parts.length,
            input,
            label;

        for (; counter < length; counter += 1) {
             label = document.createElement('label');
             label.innerHTML = parts[counter];
             label.setAttribute('for', parts[counter]);
             input = document.createElement('input');
             input.setAttribute('type', 'checkbox');
             input.setAttribute('name', parts[counter]);
             fragment.appendChild(label);
             fragment.appendChild(input);
        }
        $(document.getElementById('demo')).append(fragment);
    });
});

フィドル

于 2013-07-19T14:32:49.560 に答える