无法从表单元素获取值

时间:2011-06-30 18:35:43

标签: jquery jquery-selectors

我基本上构建了一个选择性元素的视觉吸引力版本。

我正在创建一个ul,它将.selected类应用于所点击的任何项目。

            <ul id="videolist" class="tilelist"> 
                <li id="video-'. $video-id .'">
                        <img src="assetsPath/etc/'. $video-thumb .'" />
                        <h4>'. $video-title .'</h4>
                        <p class="hidden vid-id">'. $video-id .'</p>
                    </li>
                ';} ?>
            </ul>

            <input id="videoId" class="hidden" value="<?php echo $current->video ?>" />

然后是一些jquery:

$(function(){

    $('#videolist li').click( function() {

        $('#videolist li').removeClass('selected');
        $(this).addClass('selected');

        var vidId = $(this).find('.vid-id').val();
        alert (vidId);
        $('#videoId').val( vidId );
    }); 
}); 

问题是$(this).find('.vid-id').val();似乎没有返回任何内容。我没有看到选择器有什么问题,但我对jquery有点新鲜。

1 个答案:

答案 0 :(得分:2)

如果您想从text()标记中提取,那么您要找的是val()而不是p

如果你想从input中取出它,你必须选择这样的ID:$(this).find('#videoId').val();

此外,您无需添加css属性来隐藏输入,您可以type="hidden"