Каков наилучший метод вывода «selected» для моего выбора формы на основе параметра URL?
В моем URL-адресе я могу указать этот параметр & term = retail.
Как я могу указать приведенный ниже код, чтобы выбрать розничный вариант?
<select class="form-control" name="term" id="saleTerm"> <option value="all-residential" selected>All Residential</option> <option value="apartment"> Apartment</option> <option value="villa"> Villa</option> <option value="all-commercial">All Commercial</option> <option value="office"> Office</option> <option value="retail"> Retail</option> </select>
Самый простой подход с использованием Javascript:
var val = location.href.match(/[?&]term=(.*?)[$&]/)[1]; // get params from URL $('#saleTerm').val(val); // assign URL param to select field
PHP-подход относится к ответу Даниэля.
Путь PHP:
<?php $term = !empty( $_GET['term'] ) ? $_GET['term'] : ''; ?> <select class="form-control" name="term" id="saleTerm"> <option value="all-residential" <?php echo $term == 'all-residential' ? 'selected' : ''; ?>>All Residential</option> <option value="apartment" <?php echo $term == 'apartment' ? 'selected' : ''; ?>> Apartment</option> <option value="villa" <?php echo $term == 'villa' ? 'selected' : ''; ?>> Villa</option> <option value="all-commercial" <?php echo $term == 'all-commercial' ? 'selected' : ''; ?>>All Commercial</option> <option value="office" <?php echo $term == 'office' ? 'selected' : ''; ?>> Office</option> <option value="retail" <?php echo $term == 'retail' ? 'selected' : ''; ?>> Retail</option> </select>
вы можете сделать это с помощью jquery:
var term= GetURLParameter('term'); $('#saleTerm').val(term);
Вот общая функция GetURLParameter () :
function GetURLParameter(sParam) { var sPageURL = window.location.search.substring(1); var sURLVariables = sPageURL.split('&'); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split('='); if (sParameterName[0] == sParam) { return sParameterName[1]; } } }
Подробнее ЗДЕСЬ