【发布时间】:2017-09-24 10:07:35
【问题描述】:
注意:愿意使用 jQuery,无论哪个更容易。
我有一个表单,提交时会创建一个复选框输入。提交表单时,复选框的文本应与另一个文本输入的文本相同。
当我提交表单时,复选框按预期创建,但它是空白的并且不包含来自相应文本区域的文本。
对于一个复选框,我不确定我是否应该使用 .text、.innerhtml、.val 等,我在这里看到的之前的问题似乎不必要地复杂。
HTML:
<div id="listContainer">
<form id="listForm">
<input type="submit" value="Add">
<input id="listInput" class="textarea" placeholder="Add your list item here, then click submit.">
<div id="checkboxContainer">
</div>
</form>
</div>
JS:
//ADD LIST ITEM
$("#listForm").submit(function(ev) {
ev.preventDefault();
if ($("#listInput").val() == "") {
alert("Please enter the item name, then click 'Add'.");
} else {
listCount++;
var input = $("#listInput").val();
console.log("List Count: " + listCount);
console.log(input);
var cb = document.createElement('input');
cb.id = 'input' + listCount;
cb.type = 'checkbox';
document.getElementById("checkboxContainer").appendChild(cb);
var label = document.createElement('label');
label.id = 'label' + listCount;
$("#label" + listCount).attr("for", "input" + listCount).html(input);
document.getElementById("checkboxContainer").appendChild(label);
//Store the list count
localStorage.setItem("listCount", listCount);
//Store the list title
localStorage.setItem("input" + listCount, input); //"Note " + noteCount + ": " +
this.submit();
}
});
【问题讨论】:
-
...复选框没有文本...复选框仅包含您可以单击的方框。
-
为复选框创建标签
-
您需要在复选框后添加另一个带有 ID 的内联元素并更改该元素的 innerHTML
-
创建一个新标签,就像您创建输入一样,给它一些文本,并将其
for属性设置为与复选框的id相同。 -
我会提交答案。
标签: javascript jquery html forms checkbox