2013-09-15 6 views
0

Я новичок в PHP и MySQL, поэтому я не совсем уверен, что я делаю неправильно здесь. Я использую quicksand плагина jQuery для создания фильтруемого портфеля. Плагин использует атрибутный тег атрибута данных в элементе li для заполнения фильтра nav.Значение атрибута данных из MySQL

То, что я пытаюсь сделать, это использовать цикл foreach для заполнения содержимого ul. Проблема в том, что фильтр nav не будет автоматически заполняться, когда я использую php для получения значения атрибута данных из столбца gallery_tag в моей таблице mySQL.

<?php 
$pagetitle = "Red Penguin - Our Work"; 
$navcurrent = "work"; 
$headTitle = "RECENT WORK"; 
$headsubTitle = "SOME OF OUR RECENT WORK"; 
include_once('includes/headersub.php'); 
include_once('includes/connection.php'); 
include_once('includes/project.php'); 

$project = new Project; 
$projects = $project->fetch_all(); 

?> 
<div class="row">  
    <nav id="filter"></nav> 

    <section id="container"> 
     <ul id="stage" class="three-up"> 
     <?php foreach($projects as $project) { ?> 

      <li class="gallerylist" data-tag="<?php echo $project['gallery_tag']; ?>">  
       <a href="project.php?id=<?php echo $project['gallery_id']; ?>"> 
        <img src="<?php echo $project['gallery_thumb']; ?> " alt="<?php echo $project['gallery_proj']; ?>" /> 
        <?php echo $project['gallery_title']; ?> 
       </a> 

</li> 
<?php } ?> 
</ul> 
</section> 

Ошибка, которая появляется в журнале находится в Jquery линии:

tags = elem.data('tags').split(','); 

Журнал возвращается с этой ошибкой: «Uncaught TypeError: Невозможно вызвать метод„разбить“неопределенных» для в приведенной выше строке.

Я не совсем уверен, почему это конфликт, из-за которого jquery не может прочитать значение атрибута данных, взятое из столбца gallery_tag моей таблицы. Любая помощь будет оценена по достоинству.

+0

Что это ошибка, которая возникает? –

+0

«Uncaught TypeError: не может вызвать метод« split »undefined» –

ответ

1

Я предполагаю, что есть орфографическая ошибка в вашем HTML вы имеете data-tag и вы пытаетесь получить elem.data('tags') должно быть elem.data('tag')

+1

... Теперь я просто чувствую себя глупо. Благодарю. Это было. –

+0

Это происходит когда-то, когда мы много работаем :) –

1

elem.data('tags')undefined. Так что split() не будет работать на нем.

+0

Любой способ решить эту проблему? Я новичок и понятия не имею, почему заполнение атрибута data-tag значением, вытащенным из таблицы, будет иметь значение. Он отлично работает, если я вручную помещу его в тег данных. –

+0

Если вы посмотрите на сгенерированный HTML, действительно ли эта информация действительно помещается в 'data-tag'? –

1

Может быть, я ошибаюсь, но я думаю, что вам нужно: tags = elem.data('tags').split(' ');

 Смежные вопросы

  • Нет связанных вопросов^_^