В зависимости от того, имеет ли модель какой-либо контент или нет, я хотел бы изменить цвет фона элемента HTML с помощью jQuery в представлении. Но это не работает, как я хочу, потому что документ уже загружен внутри DOM, а PartialView просто меняет небольшую часть документа, и сценарий не будет запускаться больше, чем в первый раз. Есть ли способ решить это по-другому?Запустить код jQuery в PartialView
Это мой код, который я думал, что должен работать:
@if (Model.Any())
{
<script>
$(document).ready(function() {
$("#Filter").addClass("match");
});
console.log("Det matchar!!");
</script>
Show content of list here
}
else
{
<p>No Match!</p>
<script>
$(document).ready(function() {
$("#Filter").addClass("noMatch");
});
console.log("Ingen match!!");
</script>
}
EDIT 1: Это входной элемент Я хочу изменить, и что находится внутри index.cshtml файла.
EDIT 2: Я также протестировал назвать простой яваскрипт функции внутри индексного файла из представления, как это:
<script>
checkMatch();
</script>
Я мог бы передать значения, как «нет» или «да», а затем в зависимости на входном параметре измените входной элемент. Но я не уверен, что вызов выполняется, когда вставлен код внутри PartialView.
EDIT: 3 Извините, я забыл написать, что частичный вид обновляется с помощью AJAX. Думаю, это может быть одна проблема !?
EDIT: 4 Кажется, что он работает сейчас! Когда я переместил функцию javascript, которая сначала находилась в коде jQuery document.ready, она работала путем вызова функции внутри индексного файла! Спасибо всем, кто пытался мне помочь! И он не работал с jQuery .addClass
, но он работал с .css
, чтобы изменить цвет фона элемента таким образом. Мой вопрос решен!
является элемент, добавленный после загрузки страницы мгновенно? –
'console.log' показывает любой выход? –
@PavanTeja Да console.log работает все время. –