Как получить выбранное значение параметра из выпадающего списка в коде PHP
У меня есть выпадающий список, в котором перечислены логотипы, такие как цветок, бабочка и т. Д.
<p class="title1">Logo</p>
Предположим, я выбрал логотипЦветок' из выпадающего списка я хочу, чтобы цветочная картинка отображалась в div. Это div, который я должен отобразить на картинках:
<img height="50" width="50" src="/FormBuilder/app/webroot/img/themes/?php echo $logo['Subproperty']['images'];?" class="float_left user_profile_image user_profile_image" alt="Default50">
Проблема с этим кодом в том, что он отображает все картинки, найденные в таблице. Потому что в коде моего контроллера я даю только идентификатор свойства какЛоготип», но не давайте какой логотип.
$this->set('defaultLogos',$this->Subproperty->find('all',array('conditions'=>array('Subproperty.property_id'=>1,'Subproperty.values'=>"Flower"))));
Здесь я жестко закодировалцветок' так что я получаю только цветочную картину.
Если я выберу логотип из выпадающего списка, как я могу передать это выбранное значение в код контроллера? Или, если я получу выбранное имя логотипа с помощью jQuery, как я могу использовать это значение в условии if внутри цикла foreach?
Я используюCakePHP
фреймворк.
$("#logoMenu option").click(function(){
selectedLogo=$(this).attr("value");
$('#subproperty_id').val($(this).attr("id"));
if(selectedLogo=="Your logo"){
$("#themes_upload").show();
}
else{
alert(selectedLogo);
$("#themes_upload").hide();
$("#theme_logos").show();
}
});
РЕДАКТИРОВАТЬ:
Теперь я попробовал AJAX POST, где я передаю выбранный логотип тому же действию контроллера. Я получаю значение, когда оповещаю о переданном значении в функции успеха функции ajax, но картинка не 'т появляются.
$("#logoMenu option").click(function(){
selectedLogo=$(this).attr("value");
$('#subproperty_id').val($(this).attr("id"));
if(selectedLogo=="Your logo"){
$("#themes_upload").show();
} else {
alert(selectedLogo);
$.ajax({
type: "POST",
url: "http://localhost/FormBuilder/index.php/themes/themes/",
async: false,
data: "selectedLogo="+selectedLogo,
success: function(msg){
alert( "Data Saved: " + msg);
}
});
$("#themes_upload").hide();
$("#theme_logos").show();
}
function themes(){
$this->set('themes',$this->Theme->find('all'));
$logo=$this->params['form']['selectedLogo'];
echo "logo:".$logo;
$this->set('defaultLogos',$this->Subproperty->find('all',array('conditions'=>array('Subproperty.property_id'=>1,'Subproperty.values'=>$logo))));
}
Когда я пытаюсь отобразить изображение на странице, оно нет появляются. Это потому, что команда div show находится после запроса AJAX?