JQuery PHP Ajax сохранить несколько выбранных коробок на основе процесса - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть несколько полей выбора в моей форме.

<form id="form">
    <?php
    for($i = 1; $i<=9; $i++)
    {
    ?>
        <input type="hidden" name="modelID" value="1"/>
        <div>
        Process <?php echo $i; ?>
        <select class="process" name="process[]" id="Process<?php echo $i; ?>">
            <option value="">Choose One</option>
            <option value="P1">Process 1</option>
            <option value="P2">Process 2</option>
            <option value="P3">Process 3</option>
        </select>
        </div>
    <?php
    }
</form>

И теперь мне нужно получить значение каждого значения для поля выбора, которое заполнено только в PHP.

Пример I тольковыберите Процесс 2, затем сохраните его в PHP, чтобы он был Process 2: P2.

. И на PHP мне нужно сохранить его в таблицу.

//maybe using foreach?
$insert = oci_parse($c1, "INSERT INTO tbl_process(MODELID, PROCESS1, PROCESS2, PROCESS3) VALUES('1', '', '', '')");
//ONLY insert filled select box, on my example PROCESS2 will be filled P2 to table column.

И JS

$('#btnSave').on('click', function()
{
    var modelID = $("#modelID").val();
    var form_data = $("#form").serialize();

    alert(form_data);

    $.ajax(
    {
        'type': 'post',
        'url': 'saveProcess',
        'data': {
            'form_data': form_data
        },
        'success': function(response)
        {

        }
    });
});

Мой вопрос, как ТОЛЬКО вставить заполненное поле выбора, на моем примере PROCESS2 будет заполнен P2 в столбце таблицы?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

Это PHP, поэтому имя атрибута также важно.

name="process" . $i . "[]"
0 голосов
/ 18 февраля 2019

Что вы можете сделать, это только передать modelID и processID с помощью вызова ajax.Всякий раз, когда пользователь изменяет процесс, вы сохраняете данные с помощью вызова ajax.

<form id="form">
  <?php for($i = 1; $i<=9; $i++) { ?>
    Process <?php echo $i; ?>
    <select class="process" modelID="<?php echo $i; ?>">
      <option value="P1">Process 1</option>
      <option value="P2">Process 2</option>
      <option value="P3">Process 3</option>
    </select>
    <br>
  <?php } ?>
</form>


<script type="text/javascript">
$(document).ready(function(){
  $('.process').change(function(){
    var modelID = $(this).attr('modelID');
    var processID = $(this).val();
    $.ajax({
      url: 'saveProcess.php',
      dataType: 'json',
      type: 'post',
      data: {'modelID':modelID, 'processID':processID},
      success: function( data, textStatus, jQxhr ){
          console.log(data);
      },
      error: function( jqXhr, textStatus, errorThrown ){
          console.log( errorThrown );
      }
    });
  });
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...