添加空格 and/or 在 jQuery 中值输入字段的变量的串联文本中打断

Add spaces and/or breaks in concatenated text from variables of values input fields in jQuery

尝试获取一些空格 and/or 文本区域中断,其内容根据基于 o 值的输入的数量和类型动态添加。一切正常,除了文本区域,其中所有值都作为字符串添加在一起,没有任何中断或空格。尝试在它们周围添加 div,但 textarea 不允许它们,因此不显示它。

希望有人可以帮助我进一步解决这个问题。非常感谢任何帮助。

html:

<select class="categoryName1 changeFields" name="chipsCategory">
    <option value="Category_1">Category 1</option>
    <option value="Category_2">Category 2</option>
    <option value="Category_3">Category 3</option>
</select>

<select class="chipsTaste1 changeFields" name="chipsTaste">
    <option value="brand1">Brand 1</option>
    <option value="brand2">Brand 2</option>
    <option value="brand3">Brand 3</option>
</select>

<textarea id="pasteTotal"></textarea>

js:

    var allOrders = $('.changeFields').val();

    $('#pasteTotal').append(allOrders);

非常感谢您提供的所有可能的帮助。

抱歉大代码转储,感谢您的帮助。

在显示的代码中...$('.changeFields').val() 只会 return 匹配选择器中第一个元素的值。如果您想要所有这些元素的值,则需要遍历所有这些元素。

您可以通过多种方式执行此操作,例如 $.each 并在每次迭代时连接字符串,或者我更喜欢使用数组。

$.map 创建可用于将一个数组映射到另一个数组。在这种情况下,它是元素数组....return值数组,然后可以将其与您想要的任何定界符连接

var $selects = $('.changeFields').change(function () {
    // make array of the select values
    var allOrders = $.map($selects, function (el) {
        return el.value;
    });
   // join array with comma and space and add to textarea
    $('#pasteTotal').val(allOrders.join(', '));

})

我在选择上使用了 change 处理程序,以便能够演示处理程序中的代码。该代码可以适应您当前使用的任何其他事件代码

DEMO