jQuery data-id未定义

时间:2013-10-23 19:42:06

标签: javascript jquery

我不确定为什么我没有将data-id值显示为undefined

data-id显示一个int

<li>
    <input style="width:100%;" placeholder="Page Title" id="post_title" onclick="urlCheck()" dataid="<?php echo($website_id);?>" name="post_title" type="text" value="<?php echo set_value('post_title', $post['post_title']); ?>" />
    <?php echo form_error('post_title'); ?>
</li>

JS:

function urlCheck() {

    $(".postForm").on('click', '#post_title', function (e) {
        var id = $('#post_title').attr("data-id");

        console.log(id);

        e.preventDefault();

    });
}

2 个答案:

答案 0 :(得分:5)

问题是您使用的是dataid而不是data-id,要检索属性,您需要使用.data()代替.attr()

改变这个:

<input style="width:100%;" placeholder="Page Title" id="post_title" onclick="urlCheck()" dataid="<?php echo($website_id);?>" name="post_title" type="text" value="<?php echo set_value('post_title', $post['post_title']); ?>" />

到此:

<input style="width:100%;" placeholder="Page Title" id="post_title" onclick="urlCheck()" data-id="<?php echo($website_id);?>" name="post_title" type="text" value="<?php echo set_value('post_title', $post['post_title']); ?>" />

并以此模式检索数据:

var id = $('#post_title').data("id");

答案 1 :(得分:3)

您的属性为dataid,而不是data-id