Создание раскрывающегося списка, который обновляет страницу и позволяет пользователю редактировать определенные части базы данных - PullRequest
1 голос
/ 04 июня 2011

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

У нас есть страница, где пользователь изменяет определенные поля базы данных.Изменяемые поля изменяются при выборе раскрывающегося списка в верхней части страницы.

Предположим, у нас есть эта таблица с именем restaurants:

 -----------------------------------------------------------
| id | name       | items                                   |
-------------------------------------------------------------
|  1 | fryking    | burger, fries, shake                    |
|  2 | burgertown | nuggets, chicken sandwich               |
 -----------------------------------------------------------

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

[ CHOOSE RESTAURANT ] [v]


ITEMS:

С выбранным "fryking" пользователь может: просматривать элементы fryking, добавлять новые элементы, удалять ненужные элементы.

[ fryking           ] [v]


ITEMS:

[  (txtbox)   ]     [ADD ITEM]

1. burger           [DELETE]
2. fries            [DELETE]
3. shake            [DELETE]

После того, как ресторанЕсли пользователь был выбран, пользователь должен иметь возможность добавлять, удалять и т. д., не возвращая выпадающий список к «ВЫБРАТЬ РЕСТОРАН» и заставляя его выбрать его снова.

Прямо сейчас мы можем отображать соответствующую информацию, когда ресторанбыл выбран, но ресторан не остается выбранным после обработки «добавить» или «удалить».

Извините, я не мог объяснить это лучше.Я знаю, что это было сделано 1000 раз на других сайтах, поэтому кто-то должен понять, что я ищу.

Пожалуйста, дайте мне знать, если я могу что-то уточнить.

Большое спасибо,

Justian Meyer

РЕДАКТИРОВАТЬ:

Вот как обрабатываются удаления (каждый в их отдельных формах).

$page = str_replace('%7E', '~', $_SERVER['REQUEST_URI']);    

...

<form method="post" action="'.$page.'">
    <input type="hidden" name="item_id" value="'.$i.'"> // $i refers to the value from the loop
    <input type="submit" name="delete_item" value="Delete">
</form>

Что я могу сделать, чтобы сжатькаждую кнопку в одну форму и все еще обрабатывать их правильно?

Ответы [ 4 ]

1 голос
/ 04 июня 2011

Я не знаю, какую технологию вы используете, но в asp.net mvc я бы сделал что-то вроде этого

при выполнении httppost я бы сохранил значение (или идентификатор или что-то еще) выбранного выпадающего элемента в сеансе (или даже переменную в контроллере) и вернул его в представление после публикации и установил этот сеанс или модель информация по умолчанию.

Вы можете сказать, какую технологию вы используете?

1 голос
/ 04 июня 2011

JavaScript: - установить значение выпадающего списка в событии onload.

PHP: - установить выбранный тег, сказав что-то вроде

<?

if ($_POST)
{

    $ddlRestaurantPersistValue = $_POST['ddlRestaurant'];
}

?>

и HTML будет

<select id="ddlRestaurant" name="ddlRestaurant">
    // build the options here if you are doing a database while loop
    // check to see if the option value == $ddlRestaurantPersistValue and then add
    // selected='selected' to the attributes of the option
</select>
0 голосов
/ 04 июня 2011

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

Вам нужно будет сообщить обработчику форм, каков текущий ресторан, чтобы его можно было правильно настроить после сохранения.Предполагая, что у вас есть много форм на странице по уважительной причине, вам придется смириться с этим и поместить скрытый restaurant ввод в каждую форму.Обновите их все, когда пользователь изменит значение ресторана (через javascript), и сбросьте ресторан при создании страницы после сохранения.

0 голосов
/ 04 июня 2011

Я не понимаю, что вы имеете в виду.

После выбора ресторана пользователь должен иметь возможность добавлять, удалять и т. Д., Не возвращая выпадающий список к «ВЫБРАТЬ РЕСТОРАН» и заставляя его выбрать его снова.

Учитывая, что я не понимаю, почему SELECT RESTAURANT вернулся, почему бы просто не выбрать то, что вы хотите, с помощью кода JavaScript?

Вы можете привязать слушателя onchange

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...