我試圖製作一個項目列表可編輯和使用jQuery AJAX更新。jQuery點擊()更新列表與AJAX
HTML
<ul>
<li data-id="1">
<span class="title">Title 1</span><span><a href="#" class="changeLink">Change</a></span>
</li>
<li data-id="2">
<span class="title">Title 2</span><span><a href="#" class="changeLink">Change</a></span>
</li>
<li data-id="3">
<span class="title">Title 3</span><span><a href="#" class="changeLink">Change</a></span>
</li>
</ul>
jQuery的
$('a.changeLink').on('click', function(e)
{
e.preventDefault();
// get parent LI element
var li = $(this).closest('li');
// catch current title
var title = li.children('span.title').text();
// replace span
li.children('span.title').html('<input type="text" value="'+title+'" />');
// change the link class and label
$(this).removeClass('changeLink').addClass('saveLink').text('Save');
});
$('a.saveLink').on('click', function(e)
{
e.preventDefault();
// get parent LI element
var li = $(this).closest('li');
// get the id for the AJAX query
var id = li.attr('data-id');
// get the input value
var title = li.children('span.title input').val();
// restore span text with new
li.children('span.title').text(title);
// restore link
$(this).removeClass('saveLink').addClass('changeLink').text('Change');
// make AJAX post to save new title
$.post('updatetitle.php',{ 'id': id, 'title': title }, function(){ alert('OK'); });
});
我的問題似乎是,在saveLink點擊事件不會發生。另外,changeLink click事件似乎不止一次發生。爲什麼會發生這種情況 - 該鏈接不再有changeLink
類了?
我把這個在這裏的jsfiddle:http://jsfiddle.net/jtheman/SZk4h/1/
很高興,如果我能得到一些輸入,什麼是我的錯誤?
太好了,這解決了我的第一個問題。但爲什麼changeLink事件不止一次點擊鏈接?看到這個:http://jsfiddle.net/jtheman/SZk4h/10/ – jtheman
也title = li.children('span.title input')。val();返回undefined - 爲什麼? – jtheman
@jtheman ..檢查更新後 –