2013-10-23 46 views
1

我不確定爲什麼我沒有得到我的data-id值其被表現爲undefinedjQuery的數據-ID未定義

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(); 

    }); 
} 
+0

在你的html.Try中沒有連字符'-at'(「dataid」)' –

回答

5

的問題是,你正在使用dataid代替data-id,並檢索你需要使用.data()代替.attr()

變化attibute這樣的:

<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"); 
3

您的屬性是dataid,而不是data-id