请参阅jsfiddle
我想为每个数组输出复选框。
无论文本框中是什么,单独的单词并转换为复选框
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>
答案 0 :(得分: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);
}
});
答案 1 :(得分: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 );
}
});
});
答案 2 :(得分:1)
我将您的问题解释如下:
如果是这种情况,那么下面的代码应该满足您的需求。
$(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);
});
});
答案 3 :(得分:0)
也许这就是你之后的事情?
var source = $(".source").text()
var array = []
$.each( source.split(/\W+/g), function(i, v){
array.push( $("<input type=checkbox id='"+v+"' value='"+v+"'/>") )
})
array
将为源字符串
<input>
元素