Маленькая функция jQuery для динамической установки значения поля со списком на основе параметров, указанных в строке URL. Может быть полезно для установки значений по умолчанию на странице результатов формы на основе того, что пользователь выбрал для критериев поиска.
Эта функция работает, когда у вас нет параметров, указанных в URL (т.е. не «param = 1 & param = 2»), но когда у URL может быть один огромный параметр для SQL-запроса, например «select = fields + from + table + like +» combovaluevalue + и т.д.». Вы указываете, какая строка стоит перед искомым значением (т. Е. Найдите, как мы получим значение combovaluevalue)
/* This function sets the combobox with the value after "like" inside the url */
(function($) {
//get the url variables and set the combo box
var comboBox = $(location).attr('href');
comboBox = decodeURIComponent(comboBox); //decode url string
comboBox = comboBox.replace(/"/g, ''); //replace quotes
var urlArray = comboBox.split("+"); //get params
//the param we're looking for is after "like"
comboBox = urlArray[jQuery.inArray("like", urlArray)+1];
$('#combobox-id > option').each(function(index) {
//alert($(this).text() + ' ' + $(this).val());
console.log(index + " " + $(this).attr('value'));
if ($(this).attr('value') === comboBox) {
comboBox = index;
}
});
$('#combobox-id').attr('selectedIndex', jQuery.inArray(comboBox, urlArray));
})(jQuery);