【发布时间】:2016-03-20 17:45:43
【问题描述】:
简介
我想在包含多个问题的表单上使用以下脚本,这些问题通过多个复选框输入来回答。 我想在选中“alloptions”类中的相应文本区域时添加复选框值。
JSFIDDLE http://jsfiddle.net/qFfMP/31/ 如果表单上只有一组复选框,这就是它的工作方式。如果您有两组具有相同类的复选框,则选择会添加到两个文本区域。我想在 alloptions 类中保持选中复选框,以便仅将其发布到该类中的嵌套文本区域。
问题
当此类在其中定义输入时,如何将“alloptions”的选择事件定义为 $(this)? 或 我最好将“cb”定义为 $(this) 并重新编写代码;如果我不需要,我宁愿不要。
代码
<div class="alloptions">
<textarea class="fulloptions" type="text" value=""></textarea><br>
<input type="checkbox" class="cb" value="Test1" />Test1<br>
<input type="checkbox" class="cb" value="Test2" />Test2<br>
<input type="checkbox" class="cb" value="Test3" />Test3
</div>
<hr>
<div class="alloptions">
<textarea class="fulloptions" type="text" value=""></textarea><br>
<input type="checkbox" class="cb" value="Test1" />Test1<br>
<input type="checkbox" class="cb" value="Test2" />Test2<br>
<input type="checkbox" class="cb" value="Test3" />Test3
</div>
<script>
$(document).ready(function () {
var checkboxes = $(".alloptions input[type='checkbox']");
checkboxes.on('change', function() {
$('.alloptions').find('.fulloptions').val(
checkboxes.filter(':checked').map(function(item) {
return this.value;
}).get().join(', ')
);
});
});
</script>
【问题讨论】:
-
如果没有适当的解释,很难帮助您,用文字来说明您正在尝试做什么
-
@chalietfl 你昨天帮我解决了一个类似的问题。不同的脚本,不同的问题。使用此脚本,我尝试使用“alloptions”作为触发器而不是输入。我想我应该重新编写这个脚本以使用输入作为 $(this) 的触发器。
-
这仍然无法解释您要做什么
-
@charlietfl - 选中时将复选框值添加到对应的文本区域
-
@charlietlf - 我更新了问题以更好地定义我想要做什么。
标签: jquery checkbox textarea this