jquery复选框获取值文本输入

时间:2017-09-16 10:52:59

标签: javascript jquery checkbox autocomplete

我有列表输入复选框

<input type="checkbox" name="id_image" value="homies_01" class="id_image" />
<input type="checkbox" name="id_image" value="homies_02" class="id_image" />
<input type="checkbox" name="id_image" value="homies_03" class="id_image" />

<input type="text" name="id_image" value="" class="id_image_check" />

如何检查多个输入checkbox我将input type="text"显示为

<form>
<input type="text" name="id_image" value="homies_01, homies_02, homies_03" class="id_image_check" />
</form>

5 个答案:

答案 0 :(得分:1)

使用jquery

$(".id_image").on("click",function(){
  $(".id_image_check").val(
    $(".id_image :checked").map((i,el) => el.value).join(", ")
  )
});

答案 1 :(得分:1)

使用Vanilla Javascript有一个完美的解决方案

function attachListeners() {
  var checkboxes = document.getElementsByClassName('id_image')

  for (var i = 0; i < checkboxes.length; i++) {
      checkboxes[i].addEventListener('click', getAndPutValues, false);
  }
}

function getAndPutValues() {
  var result = [];
  document.querySelectorAll(".id_image:checked").forEach(function(item) { result.push(item.value);});

  document.querySelector('.id_image_check').value = result.join(', ');
}

attachListeners();

答案 2 :(得分:0)

首先,您应该使用数组表示法来表示复选框名称

<input type="checkbox" name="id_image[]" value="homies_01" class="id_image" />
<input type="checkbox" name="id_image[]" value="homies_02" class="id_image" />
<input type="checkbox" name="id_image[]" value="homies_03" class="id_image" />

它可以帮助您同时发布多个值

之后检查jQuery中的值,你可以使用

<script type="text/javascript">
   $('[name="id_image[]"]').click(function(){
        var value = '';
        $('[name="id_image[]"]:checked').each(function(){
           value += $(this).val();
        });

       $('#id_image_check').val(value);
   });
</script>

答案 3 :(得分:0)

试试这个:

<input type="checkbox" name="id_image" value="homies_01" class="id_image" onchange="toggleCheckbox(this)" />
<input type="checkbox" name="id_image" value="homies_02" class="id_image" onchange="toggleCheckbox(this)" />
<input type="checkbox" name="id_image" value="homies_03" class="id_image" onchange="toggleCheckbox(this)" />

<input type="text" name="id_image" id="id_image" value="" class="id_image_check" />

<script type="text/javascript">
    var arrImages = [];
    function toggleCheckbox(element) {
        console.log('element', element.value);

        arrImages.push(element.value);
        document.getElementById("id_image").value = arrImages;
    }
</script>

答案 4 :(得分:-1)

如果你想使用表单提交它,或者在jQuery中使用以下方法获取多个选中复选框的值,只需在名称末尾使用方括号[]

&#13;
&#13;
$('#show').click(function(){
  values = "";
  $('input.id_image:checked').each(function(){
    values += $(this).val() + " ";
  });
  if(values){
    $('#values').html(values);
  }else{
    $('#values').html("None");
  }
  
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="id_image[]" value="homies_01" class="id_image" /> Homies 1
<input type="checkbox" name="id_image[]" value="homies_02" class="id_image" /> Homies 2
<input type="checkbox" name="id_image[]" value="homies_03" class="id_image" /> Homies 3

<br>
<button id="show">Show</button>

<br>
<div id="values"></div>
&#13;
&#13;
&#13;