這是我想獲得:當你點擊#edit
jQuery的發現在最近tr
的TD叫#collapse
,並與具有作爲價值以前#collapse
HTML的輸入替換其內容。 我試過jsFiddle沒有任何成功:http://jsfiddle.net/8PDdn/1/的jQuery找不到父
任何人都可以幫我得到我想要的東西嗎?
這是我想獲得:當你點擊#edit
jQuery的發現在最近tr
的TD叫#collapse
,並與具有作爲價值以前#collapse
HTML的輸入替換其內容。 我試過jsFiddle沒有任何成功:http://jsfiddle.net/8PDdn/1/的jQuery找不到父
任何人都可以幫我得到我想要的東西嗎?
preventDefault()
是的event
對象的方法之一,而不是選擇的元素,你應該叫它爲event
對象,而不是,你也可以使用blur
事件輸入的編輯完成後,修改div標籤的內容:
$(function() {
$("a#edit").click(function(event) {
event.preventDefault();
var currentTodo = $("#collapse");
var cVal = currentTodo.html();
currentTodo.html('<input type="text" name="description" value="'+ cVal +'">');
});
$(document).on('blur', '#collapse input', function(){
$(this).parent().html(this.value)
})
});
$(this).preventDefault();
那不是你如何防止默認事件。您需要將事件傳遞給回調。
$(function() {
$("a#edit").click(function(e) {
$(e).preventDefault();
var currentTodo = $(this).closest("tr").find("#collapse");
var cVal = currentTodo.html();
currentTodo.html('<input type="text" name="description" value="'+ cVal +'">');
});
});
很少有東西是錯誤的位置:
id
應該是唯一的,你必須使用相同的ID很多元素,將其更改爲類。您的問題是由這個原因引起:
$("a#edit").click(function() {
$(this).preventDefault(); ---> there is no preventDefault method on this
...
});
你需要將其更改爲:
$("a#edit").click(function(e) {
$(e).preventDefault();
...
});