здесь моя ситуация. У меня есть поле выбора, которое заполняется из команды SELECT базы данных с PHP. Тот же самый выбор, который является выбором стран, связан с ним событием jQuery, а также при его изменении и загрузке флага каждой страны.Выполнить функцию jQuery при изменении и загрузке страницы?
$("#CountryA").change(function() {
var countryname = this.options[this.selectedIndex];
var fileExist = $.ajax({
url: './../theme/_images/flags/' + $.trim($(countryname).text()) + '.png',
type: 'HEAD',
error: function() {
$("#flag").html('<img src= "./../theme/_images/flags/notFound.png" />');
},
success: function() {
$("#flag").html('<img src= "./../theme/_images/flags/' + $.trim($(countryname).text()) + '.png" />');
}
});
})
и это PHP
<?php
while ($data = $connection->dbFetchArray($resultCountry)) {
if ($data["Description"] == @$_GET['country'])
echo "<option value='" . $data["Description"] . "' selected='selected'>" . $data["Description"] . "</option>";
else
echo "<option value='" . $data["Description"] . "'>" . $data["Description"] . "</option>";
}
?>
Также с PHP мне удалось запомнить выбранное значение пользователя перед заполните. НО после того, как пользователь сует форму (я использую PHP_SELF, поэтому остаюсь на той же странице), флаг исчезает.
Могу ли я снова выполнить функцию после кнопки sumbit? На pageload или что-то, чтобы отобразить флаг выбранной страны пользователю?
Заранее благодарен!
============================================================================================== EDIT ================================================================== ====
Хорошо, спасибо большое augustknight, и все, что потребовалось время, чтобы ответить ...: D
Я сделал некоторые незначительные изменения в код, потому что эти строки
var country_name = $("#CountryA :selected").val();
set_country_flag_image(this.options[this.selectedIndex]);
давали мне какой-то странный элемент HTMLOptionElement вместо выбранного имени. Итак, вот окончательный код для дальнейшего использования. : D Еще раз!
$(function() {
// Initialize the flag to the selected country (could also be done server-side)
var country_name = $("#CountryA").val();
set_country_flag_image(country_name);
// Update the flag image when a country is selected
$("#CountryA").change(function() {
alert($("#CountryA").val());
set_country_flag_image($("#CountryA").val());
});
});
function set_country_flag_image(country_name) {
$.ajax({
url: './../theme/_images/flags/' + country_name + '.png',
type: 'HEAD',
error: function() {
$("#flag").html('<img src= "./../theme/_images/flags/notFound.png" />');
},
success: function() {
$("#flag").html('<img src= "./../theme/_images/flags/' + country_name + '.png" />');
}
});
}
Итак, выбор страны запомнился, но флаг для этой страны нет? – augustknight