这个脚本有什么问题?

时间:2019-11-27 08:31:47

标签: javascript arrays

当我提交表单时,我尝试获取Roomsno输入值,其显示如下

Array ( [0] => 1,2 );为什么?

我如何发送它,以使其成为真正的数组,就像这样- 数组([0] => 1 [1] => 2)

<input type="hidden" class="form-control" name="Roomsno" id="Roomsno" required>

<script>
    var rmidarray = []; //  new Array()
    var rmnoarray = [];

    $('.roomtype').change(function() {

      roomss_id = $(this).attr('data-id');
      no_room = $(this).val();

      var check = rmidarray.includes(roomss_id);

      if (check == true) {
        // alert('hi')
        index = rmidarray.indexOf(roomss_id);
        // alert(index);
        rmnoarray.splice(index, 1, no_room);

        // rmnoarray[index].push(no_room);
      } else if (check == false) {
        // alert('by');
        rmidarray.push(roomss_id);
        rmnoarray.push(no_room);
      } else {
        alert('No rooms Selected!!!')
      }


      $("#Roomsno").val(rmnoarray);

    });

   </script>

1 个答案:

答案 0 :(得分:0)

由于该值采用数组格式,因此与其直接设置该值,不如直接使用jason.stringfy- 例如

$("#Roomsno").val(rmnoarray); //Instead of this one
$('#Roomsno').val(JSON.stringify(rmnoarray)); //This one worked for me

当我尝试获取值时,我使用json.decode,该值将作为数组出现,我们可以像使用数组一样正常使用它。该数组将类似于-Array([0] => 1 [1] => 2)