合并文本区域中所选单选按钮和复选框的值

To merge value of Selected Radio button and Checbox in a Text area

本文关键字:复选框 单选按钮 文本 区域 合并      更新时间:2023-09-26

我的jQuery代码如下所示。

$('.meraCheck').click(function () {
    var text1 = "";
    $('.meraCheck:checked').each(function () {
        text1 += $(this).parent().text() + ',';
    });
    text1 = text1.substring(0, text1.length - 1);
    $('#selectedConsiderationsText').val(text1);
    var pane = $('#selectedConsiderationsText');
    var trimmed_text= pane.val($.trim(pane.val()).replace(/'s*['r'n]+'s*/g, ''n').replace(/(<[^'/][^>]*>)'s*/g, '$1').replace(/'s*(<'/[^>]+>)/g, '$1'));
});
$('.meraRadio').click(function () {
    var text = "";
    $('.meraRadio:checked').each(function () {
        text += $(this).parent().text() + ',';
    });
    text = text.substring(0, text.length - 1);
    $('#selectedConsiderationsText').val(text);
    var pane = $('#selectedConsiderationsText');
    pane.val($.trim(pane.val()).replace(/'s*['r'n]+'s*/g, ''n').replace(/(<[^'/][^>]*>)'s*/g, '$1').replace(/'s*(<'/[^>]+>)/g, '$1'));
});

当前在文本区域,它反映如下所述的文本:

  • 如果我选择复选框(作为类'meraCheck'将被点击),然后在文本它
  • 仅反映选中复选框的值。
  • 如果我选择复选框(类'meraRadio'将被点击),那么在文本中它只反映所选单选按钮的值。

我想要的是合并所选复选框和单选按钮的值(同时)

有谁能帮我做一下吗?

复选框,单选按钮和文本区域的代码在这里:

 <input isselected="True" checked="checked" class="meraCheck"  type="checkbox" value="12389" style="transform: scale(1);">
     <input class="meraRadio"  style="transform: scale(1);margin-left: 25px;" type="radio" value="11100">
    <textarea rows="4" cols="50" id="selectedConsiderationsText"></textarea>   

检查下面的答案!

$(function() {
  $('.meraCheck, .meraRadio').click(function() {
    var text1 = "";
    $('.meraCheck:checked').each(function() {
      text1 += $(this).val() + ',';
    });
    $('.meraRadio:checked').each(function() {
      text1 += $(this).val() + ',';
    });
    text1 = text1.substring(0, text1.length - 1);
    $('#selectedConsiderationsText').val(text1);
    var pane = $('#selectedConsiderationsText');
    var trimmed_text = pane.val($.trim(pane.val()).replace(/'s*['r'n]+'s*/g, ''n').replace(/(<[^'/][^>]*>)'s*/g, '$1').replace(/'s*(<'/[^>]+>)/g, '$1'));
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input isselected="True" name="meraCheck" class="meraCheck" type="checkbox" value="12389" style="transform: scale(1);">12389
<input isselected="True" name="meraCheck" class="meraCheck" type="checkbox" value="12390" style="transform: scale(1);">12390
<input class="meraRadio" name="meraRadio" style="transform: scale(1);margin-left: 25px;" type="radio" value="11100">11100
<input class="meraRadio" name="meraRadio" style="transform: scale(1);margin-left: 25px;" type="radio" value="11101">11101
<textarea rows="4" cols="50" id="selectedConsiderationsText"></textarea>

请看看这个方法:

$(document).ready(function() {
  $('.meraCheck').click(function() {
    updateText();
  });
  $('.meraRadio').click(function() {
    updateText();
  });
  function updateText() {
    var text = "";
    $('.meraRadio:checked').each(function() {
      text += $(this).parent().text() + ',';
    });
    $('.meraCheck:checked').each(function() {
      text += $(this).parent().text() + ',';
    });
    text = text.substring(0, text.length - 1);
    $('#selectedConsiderationsText').val(text);
    var pane = $('#selectedConsiderationsText');
    var trimmed_text = pane.val($.trim(pane.val()).replace(/'s*['r'n]+'s*/g, ''n').replace(/(<[^'/][^>]*>)'s*/g, '$1').replace(/'s*(<'/[^>]+>)/g, '$1'));
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div>My CheckBox
  <input isselected="True" class="meraCheck" type="checkbox" value="12389" style="transform: scale(1);">
</div>
<div>My RadioBox
  <input class="meraRadio" style="transform: scale(1);margin-left: 25px;" type="radio" value="11100">
</div>
<textarea rows="4" cols="50" id="selectedConsiderationsText"></textarea>