Удалить запятую из значений, добавленных в скрытое поле

#javascript #jquery #input

#javascript #jquery #ввод

Вопрос:

как я могу заменить запятые пробелом между ними? Я использую этот фрагмент для добавления значений флажков в скрытое поле.

ссылка: http://www.dotnetfox.com/articles/jquery-multiple-checkbox-values-to-comma-separated-string-1105.aspx

текущие результаты выглядят следующим образом:

 <input type="hidden" id="textValue" value="1,2,3,4,5,6,7" />
  

Я хочу получить следующий результат

 <input type="hidden" id="textValue" value=" 1 2 3 4 5 6 7" />
  
 <div id="mydiv">

        <input type="checkbox" name="swimmingpool" id="swimmingpool" value="1" />

        Swimming Pool<br />

        <input type="checkbox" name="fitnesscenter" id="fitnesscenter" value="2" />

        fitness center<br />

        <input type="checkbox" name="restaurant" id="restaurant" value="3" />

        restaurant<br />

        <input type="checkbox" name="childrenactivities" id="childrenactivities" value="4" />

        children’s activities<br />

        <input type="checkbox" name="complimentarybreakfast " id="complimentarybreakfast"

            value="5" />

        complimentary breakfast<br />

        <input type="checkbox" name="meetingfacilities" id="meetingfacilities" value="6" />

        meeting facilities<br />

        <input type="checkbox" name="petsallowed " id="petsallowed " value="7" />

        pets allowed<br />

        <input type="hidden" id="txtValue">

</div>
  
 jQuery(document).ready(function($){

function updateTextArea() {

            var allVals = [];

            $('#mydiv :checked').each(function () {

                allVals.push($(this).val());

            });

            $('#txtValue').val(allVals)
        }

        $(function () {

            $('#mydiv input').click(updateTextArea);

            updateTextArea();

        });

});
  

Ответ №1:

Вместо этого:

 $('#txtValue').val(allVals)
  

Сделайте это:

 $('#txtValue').val(allVals.join(" "))
  

join преобразует массив в строку, разделяя каждое значение разделителем, который вы передаете в качестве аргумента join , в данном случае пробелом.

Ответ №2:

Я думаю, вы должны быть в состоянии сделать это:

заменить $('#txtValue').val(allVals) на $('#textValue').val(allVals.join(" "))