目前,当您单击下拉列表时,选择一个选项并单击任何复选框,它会向文本框添加一个值。但是,当我添加第二个值时,它会直接输入到第一个值旁边。我该如何添加换行符?
的jQuery
$(document).ready(function () {
$('.group').hide();
$('#selectMe').change(function () {
$('.group').hide();
$('#' + $(this).val()).show();
})
});
var courses = {
course1: 'BIS 445 UCC lvl8 ',
course2: 'Commerce 475 UCC lvl8 ',
course3: 'Economics 350 UCD lvl8 ',
course4: 'Government 405 UL lvl8 ',
course5: 'Medicine 600 UCC lvl8',
course6: 'Nursing 500 UCC lvl8'
}
var $mytextbox = $('#courses');
$("input[type='checkbox'][name*='course']").change(function () {
var $chk = $(this);
if ($chk.prop('checked')) {
$mytextbox.val($mytextbox.val() + courses[$chk.attr('name')]);
} else {
$mytextbox.val($mytextbox.val().replace(courses[$chk.attr('name')], ""));
}
});
答案 0 :(得分:1)
在<textarea>
输入中,通过在行尾插入\n
来创建换行符,从而创建新行。
将代码修改为如下所示:
$("input[type='checkbox'][name*='course']").change(function () {
var $chk = $(this);
if ($chk.prop('checked')) {
$mytextbox.val($mytextbox.val() + courses[$chk.attr('name')] + "\n");
} else {
$mytextbox.val($mytextbox.val().replace(courses[$chk.attr('name')] + "\n", ""));
}
});
我已更新您的JSFiddle here以演示其工作原理。在检查和取消选中课程时,记住更新\n
字符的插入和删除非常重要。如果不在两个地方插入和删除\n
字符,您可能会遇到不受欢迎的结果,例如课程之间的多行。
答案 1 :(得分:0)
您只需添加换行符即可。参见:
Add a linebreak in an HTML text area
&#34; \ n&#34;或&amp; vbCrLf
类似
$mytextbox.val($mytextbox.val() + "\n" + courses[$chk.attr('name')]);