Выпадающее меню выбрано на основе параметра URL – PHP или jQuery?

Каков наилучший метод вывода «selected» для моего выбора формы на основе параметра URL?

В моем URL-адресе я могу указать этот параметр & term = retail.

Как я могу указать приведенный ниже код, чтобы выбрать розничный вариант?

<select class="form-control" name="term" id="saleTerm"> <option value="all-residential" selected>All Residential</option> <option value="apartment">&nbsp;&nbsp;&nbsp;Apartment</option> <option value="villa">&nbsp;&nbsp;&nbsp;Villa</option> <option value="all-commercial">All Commercial</option> <option value="office">&nbsp;&nbsp;&nbsp;Office</option> <option value="retail">&nbsp;&nbsp;&nbsp;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' : ''; ?>>&nbsp;&nbsp;&nbsp;Apartment</option> <option value="villa" <?php echo $term == 'villa' ? 'selected' : ''; ?>>&nbsp;&nbsp;&nbsp;Villa</option> <option value="all-commercial" <?php echo $term == 'all-commercial' ? 'selected' : ''; ?>>All Commercial</option> <option value="office" <?php echo $term == 'office' ? 'selected' : ''; ?>>&nbsp;&nbsp;&nbsp;Office</option> <option value="retail" <?php echo $term == 'retail' ? 'selected' : ''; ?>>&nbsp;&nbsp;&nbsp;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]; } } }​ 

Подробнее ЗДЕСЬ