Я очень новичок в Yii, поэтому я не уверен, если это с моей стороны испортилось или нет.
Я пытаюсь перебрать массив визуализированных форм удаленного поиска иinnerHTML отображает правильную форму на основе индекса любого типа поиска, выбранного пользователем.
Всякий раз, когда я помещаю php-рендер в массив, все остальные мои объекты innerHTML перестают появляться.Также сами формы не появятся.
Когда я отображаю формы в HTML, они работают без проблем, только когда я пытаюсь отобразить их в Javascript, возникает проблема.
Кто-нибудь может иметь решение этого?
Вот мой код:
Вид:
<div class="search-tabs-new animated fadeInUp">
<!-- Create select box for user to choose search method (by Person, Phone or Address) -->
<div class="home-search-custom-select">
<ul class="home-search-method-options-list">
<li id="home-search-by-btn">Search By...</li>
<li class="home-search-method-option"></li>
<li class="home-search-method-option"></li>
<li class="home-search-method-option"></li>
</ul>
</div>
<div id="home-search-form-area">
</div>
Javascript:
let methodTypes = [
'Phone Number',
'Name',
'Address'
];
let homeSearchForms = [
'<?= $this->render('/site/forms/phone_search', ['uri' => Url::to(['phone/process'])]); ?>',
'<?= $this->render('/site/forms/person_search', ['uri' => Url::to(['people/process'])]); ?>',
'<?= $this->render('/site/forms/address_search', ['uri' => Url::to(['address/process'])]); ?>'
];
let searchMethodOptions = document.querySelectorAll('.home-search-method-option');
searchMethodOptions = Array.from(searchMethodOptions);
function setSearchMethod() {
for (var i = 0; i < searchMethodOptions.length; i++) {
const searchMethodOption = searchMethodOptions[i];
const methodType = methodTypes[i];
const searchForm = homeSearchForms[i];
searchMethodOption.innerHTML = methodType;
searchMethodOption.addEventListener("click", function() {
document.getElementById('home-search-form-area').innerHTML = searchForm;
});
}
}
setSearchMethod();