Intereting Posts
Может ли GD сделать текст искаженным (чтобы он выглядел так, будто он слегка обтекает кривую)? Как отправить электронную почту с помощью PHPMailer в фоновом режиме? ошибка при разборе json-данных с быстрым «Данные не могут быть прочитаны, потому что они не в правильном формате». Как связать переменные SQL в Php? Сроки PHP слишком быстро выходят из строя Doctrine2 не устанавливает последовательность по умолчанию для столбца id (postgres) Путь активов в файлах CSS в Symfony 2 zend framework объединяет 3 таблицы Как загрузить файл php без его выполнения? Как получить символы Юникода для последовательностей: CTRL + B, CTRL + L, ALT + K и т. Д. Получили ли некоторые из них не все? mail () не работает на новом сервере Запрос с несколькими значениями в столбце как организовать файлы, созданные динамически с помощью php? Продолжить обработку после закрытия соединения Таймер обратного отсчета Javascript + PHP-код внутри JS

PHP Auto update selectbox на основе 1-го выбора

У меня есть 2 selectboxes

<h3>Results</h3> <select id="register_form" name="sport" /> <option value="Rugby">Rugby</option> <option value="Cricket">Cricket</option> <option value="Football">Football</option> </select> <?php echo'<select name="match">'; echo'<option value="'.$row['event_id'].'">'.$row['team1'].' VS '.$row['team2'].'</option>'; echo'</select>'; ?> <input id="register_form" type="submit" value="Display" name="submit" /> 

Пользователь выполняет поиск результата:

выбор вида спорта в 1-м селекторе, а затем в значениях 2-х опций выбора выбирается по типу спорта.

Можно ли сделать это на PHP без необходимости сначала нажать кнопку submit, чтобы получить значение $ _POST для типа спорта?

Какой у меня лучший вариант?

1.Ajax – единственный вариант, о котором вы просили (без обновления страницы)

  1. Когда вы используете php, это возможно только при обновлении страницы. но с ajax без обновления страницы это возможно.

  2. помогая звеньям: –

Используйте jQuery для изменения второго списка выбора на основе первой опции списка выбора

https://www.daniweb.com/web-development/php/threads/372228/php-and-ajax-auto-populate-select-box

https://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax

PHP всегда нужно перезагрузить страницу, чтобы обновить вашу информацию, поэтому, как сказал anant kumar singh, вам нужно использовать AJAX для этого. И, как сказал yak613, jQuery поможет вам легко использовать AJAX

Вы можете использовать этот список Multiple Select Dropdawn: http://coursesweb.net/ajax/multiple-select-dropdown-list-ajax_t , его можно использовать для нескольких наборов списков выбора.

Я столкнулся с той же проблемой в своем проекте. Но необходимая функциональность была выше – не две зависимые selectboxes и большее число. Я написал простую функцию для загрузки своих selectboxes:

 //formId - form where selectbox is //name - attribute "name" of selectbox //dataSourceUrl - url to PHP-file //affectingField - string with value that filters the selecbox's data function loadSelectbox( formId, name, dataSourceUrl, affectingField ){ //console.log('Loading data to selectbox name="'+name+'":'); var selectbox = $('#'+formId+' select[name="'+name+'"]'); if(selectbox){ //console.log("Selecbox found"); if(affectingField != null){ var affectingValue = $('#'+formId+' [name="'+affectingField+'"]').val(); dataSourceUrl += '?affectingValue='+affectingValue; } var options = selectbox.find('option'); var jqxhr = $.ajax({ url: dataSourceUrl, dataType: 'text' }) .done(function(data) { //console.log(data); if(data != ""){ var optionsObject = JSON.parse(data); var i = 0; console.log(optionsObject); var options = []; $(optionsObject).each( function(){ options[i] = '<option value="'+$(this)[0]['val']+'">'+$(this)[0]['text']+'</option>'; i++; } ); selectbox.html(options); if(urlParamsSet[name] == false){ setParamFromUrl(name); } } else{ selectbox.html('<option value="">Все</option>'); } }) .fail(function() { alert("Problems with server answer"); }) selectbox.prop("disabled", false); } else{ console.log("No selectbox with such name"); } 

}

Не сказать, что этот код идеален, но он работает. PHP-файл должен возвращать значения в selecbox в формате JSON (конвертировать из со структурой: массив (индекс, значение, текст)).