2014-09-18 15 views
1

對不起,如果這已經回答了。我看了看,並尋找答案,但沒有任何工作。停止點擊()發生在ajax創建的輸入

我想要做的是讓一個「確認」頁面能夠在飛行中更新,如果用戶想改變他們的順序。

在使用「真實」信息之前,我正在使用測試項目以使其工作。

<div id="testing_editing">meat logs</div> 

的Jquery:

$("testing_editing").click(function(e){ 
    var testhtml = $(this).html(); 
    var meatseafood = '<?php echo $meatseafood; ?>'; 
    $.post('edit_order.php', {'itemtoedit':testhtml,'meatseafood':meatseafood}, function(data) { 
    $("#testing_editing").html(data); 
    }); 
}); 

edit_order.php:

include ("includes.php"); 
// connection to SQL 

$item_to_edit = test_input($_POST['itemtoedit']); 
$meatseafood = test_input($_POST['meatseafood']); 

echo "<div id=\"child_toedit\"><input id=\"toedit\" type=\"text\" placeholder=\"$item_to_edit\"  size=20></div>"; 

我嘗試添加:

$("#child_toedit").click(function(e){ 
    e.stopPropagation(); 
}); 

基本上會發生什麼,我點擊與股利在它的信息,它取代自己的文字我輸入,但當我點擊文本輸入更改值時,它再次使ajax調用,並用創建輸入的代碼填充它,以便佔位符變成div id = \「child_toedit \」input id = \ 「toedit \」type = \「text \」placeholder = \「$ item_to_edit \」size = 20>/div,我永遠無法輸入框中,因爲每次我點擊框重新填充自己有點像一個無限循環只有你必須點擊它來循環循環

我還沒有完成代碼,因爲我卡在這裏,但如果你知道如何使它在div中的輸入框有點擊()函數不會激活該函數,它將允許我繼續確定如何執行此操作的其餘部分。

我將如何完成它是有一個複選框在輸入框的右側,當你檢查它,它將再次調用ajax和處理新的數據並返回新的信息w /出一個輸入框。至少這是我的想法。我不確定它是否會起作用。

我現在還沒有一個可以看到它的實例。

對不起,如果我沒有提供足夠的代碼或信息。

我只需要知道如何使它,所以我可以點擊div中的元素,而不是激活div的click()函數。我假設它與stopPropagation有關,但我無法弄清楚我在本網站和其他人看到的例子。

謝謝你的幫助。順便說一下,我非常非常業餘,所以如果有更好的方法,我應該這樣做來更新數據,我很樂意提供任何幫助。我做了大量的研究,但我無法找到任何答案,所以我有點基於我認爲應該做的事情來實現我的目標。這是所有代碼都是從我的頭上寫下來的,而不是從別的東西上覆制的

感謝, 德里克康倫

回答

0

嘗試這樣的事情可能?

var count = 0; 
$("btn").click(function(){ 
    if(count == 0) { 
     // clicks before launching ajax request 
    } else { 
     // launch ajax and prevent from being clicked again 
     count = 1; 
    } 
}); 
+0

我用這個爲了阻止文本框的填充發生一遍又一遍。非常好!謝謝。 – DerekConlon 2014-09-19 01:35:26

0

儘量避免違約,而不是停止傳播:

$("#child_toedit").click(function(e){ 
    e.preventDefault(); 
    //write the rest of the code after this line 
}); 
+0

這沒有奏效。但是,我必須沒有研究足夠長的時間來這個網站,因爲之前做過什麼工作是添加: 如果(e.target ===本){ } 在我#testing_editing jQuery和這似乎是訣竅。對不起,我很快就放棄了我的研究。 – DerekConlon 2014-09-18 21:44:09

0

嘗試jQuery函數

$('#elemId').unbind('click') 
0

最後我的答案是:

If (e.target === this) {} 

周圍環繞我的代碼後的代碼l

$("#testing_editing").click(function(e){ 

謝謝你的一切幫助。