2

我不确定为什么我没有得到我的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();

    });
}
4

2 回答 2

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");
于 2013-10-23T19:43:40.273 回答
3

你的属性是dataid,不是data-id

于 2013-10-23T19:43:11.350 回答