Как заблокировать цвет, когда вы его выбрали, и сохранить в базе данных, когда при обновлении страницы выбранный цвет исчезнет

#javascript #php #jquery

#javascript #php #jquery

Вопрос:

Я хочу спросить, после выбора ситуации в выпадающем списке, как заблокировать цвет и сохранить в базе данных?

код для javascript и jquery для блокировки цвета из выпадающего списка и сохранения в базе данных

Это код для таблицы, в то время как то же самое с моим похоже на http://jsfiddle.net/j08691/eQNp5/1 /

HTML-код:

 <table>
<tr>
    <td></td>
    <td></td>
    <td><select name="Select2">
    <option></option>
    <option>Approved</option>
    <option>Pending</option>
    <option>Disapproved</option>
    </select></td>
</tr>
<tr>
    <td></td>
    <td></td>
    <td><select name="Select2">
    <option></option>
    <option>Approved</option>
    <option>Pending</option>
    <option>Disapproved</option>
    </select></td>
</tr>
<tr>
    <td></td>
    <td></td>
    <td><select name="Select3">
    <option></option>
    <option>Approved</option>
    <option>Pending</option>
    <option>Disapproved</option>
    </select></td>
</tr>
  

javascript:

код Java script использует изображение из-за невозможности вставки

Таблица pic: изображения таблицы после обновления исчезли, как заблокировать его

Ответ №1:

Я думаю, что это то решение, которое вы ищете. Для блокировки цвета вы можете отключить поле выбора, когда оно выбрано один раз, написав следующее,

 $(this).prop("disabled", true);
  

А для сохранения его в базе данных вы можете использовать jquery ajax. Весь код javascript и jquery приведен ниже.

 var color = ['none', 'green', 'yellow', 'red'];
    $('select').change(function() {
        var colorCode=color[$(':selected', this).index()];
        $(this).parents('tr').css('background', colorCode);

        //For Lock The Select Option
        $(this).prop("disabled", true);

        //Save It To Database
        $.ajax({url: "saveColor.php?colorCode=" colorCode, success: function(result){
          
          //If there is all ok on saveColor.php, then you can show success message here
          /*...*/
          //console.log(result);

        }});    
    });
  

Теперь, если у вас есть saveColor.php затем вы можете получить цветовой код в $_GET[‘ColorCode’] для него. Затем сохраните его в базе данных с вашим php-кодом.

Комментарии:

1. Со значением // Для блокировки выберите опцию $ (this).prop(«отключено», true); после добавления этого кода и выбора цвета, и он заблокирует его после обновления?

2. Это заблокирует поле выбора параметра, поскольку пользователь не сможет изменить его после. Вы имеете в виду, что как заблокировать цвет или что?

3. Да, так что после добавления кода опция выбора заблокирует цвет правильно? но после добавления кода я выбираю цвет. После обновления цвет исчез

4. В этом случае после обновления страницы вам нужно будет извлечь сохраненную базу данных цветовой формы и поместить ее в <tr> цвет фона. например, <tr style=»background-color:<?php echo $ColorCode; ?>»> . Раньше вам нужно было написать кучу php-кода.

5. например, когда я выбираю первые параметры, и строка будет отображаться красным цветом, и я хочу заблокировать красный цвет, который при повторном открытии веб-сайта строка по-прежнему сохраняет красный цвет

Ответ №2:

поскольку ваш вопрос не ясен, но вы уже помечаете php и jquery…

итак, вы хотите сохранить цвет в своей базе данных после выбора. используйте jquery ajax.

 var color = ['none', 'green', 'yellow', 'red'];
$('select').change(function() {
   var row = $(this).parents('tr'),
       selectedColor = color[$(':selected', this).index()];    

    $.ajax({
      method: 'POST',
      data: {color: selectedColor},
      url: 'page_to_php.php'
   }).done(function(data){
       row.css('background', selectedColor);
   }).fail(function(err){
      console.log(err);
   })
});
  

на стороне сервера page_to_php.php

 if(!empty($_POST)) {
   $color = $_POST['color'];

  // now you can process your color to database.

}