Как отправить только событие click (div) при использовании функции jquery live?
То, что я пытаюсь сделать.
Нажмите ввод и найдите контакт в mysql. Нажмите на контакт и вставьте контактную информацию в базу данных. Эта работа. Проблема заключается в том, что она вставляет весь цикл while на страницу в базу данных msql, мне нужна помощь в ее исправлении.
PHP-код, который загружается при активации поиска:
Это в цикле while:
<?php echo ' <div id="'.$get_memID.'" class="box_content"> <table width="100%"> <tr> <td width="50%" align="left"> '.$profile_pic_lil.' <span style="font-size: 14px; font-weight: bold; color: #060; ">'.$get_memfirstName.' '.$get_memlastName.'</span></td> <td width="40%"align="right" valign="top"> <span style="font-size: 12px; color: #999999;">'.$linkUP_As.'</span> <input name="to_mem" type="hidden" id="to_mem" value="'.$get_mem.'" /> <input name="to_memID" id="to_memID" type="hidden" value="'.$get_memID.'" /> <input name="to_memfirstName" id="to_memfirstName" type="hidden" value="'.$get_memfirstName.'" /> <input name="to_memlastName" type="hidden" value="'.$get_memlastName.'" /> </td> </tr> </table> </div> '; ?>
Jquery Script для загрузки поиска:
$(document).ready(function(){ var timer; $(".search").live('keyup',function(e){ clearTimeout(timer); var ms = 200; // milliseconds var val = this.value; timer = setTimeout(function() { lookup(val); }, ms); var dataString = 'mysearchString='+ val; if(val==''){ } else { $.ajax({ type: "POST", url: "/happening_searchlinkUP.php", data: dataString, cache: false, success: function(html){ $("#display<?php echo $id; ?>").html(html).show(); } }); } return false; }); });
Jquery Script для отправки php-файла в mysql:
$(document).ready(function(){ $(".box_content").live('click',function(e){ var element = $(this); var id = element.attr("id"); var mem_email = $("#to_mem").val(); var mem_firstName = $("#to_memfirstName").val(); var happening_id = $("#happening_id<?php echo $id; ?>").val(); var info = "id=" + id + '&mem_email=' + mem_email + '&mem_firstName=' + mem_firstName + '&happening_id=' + happening_id; $.ajax({ type: "POST", url: "/happening_getMem_linkUP.php", data: info, cache: false, success: function(html){ $("#now_from_linkup<?php echo $id; ?>").html(mem_firstName); } }); return false; }); });
Любая помощь с радостью принимается, и спасибо заранее
Вам придется отказаться от ваших вызовов ajax, самый простой способ – сделать doOnce
var doOnce = 1; $(document).ready(function(){ $(".box_content").live('click',function(e){ var element = $(this); var id = element.attr("id"); var mem_email = $("#to_mem").val(); var mem_firstName = $("#to_memfirstName").val(); var happening_id = $("#happening_id<?php echo $id; ?>").val(); var info = "id=" + id + '&mem_email=' + mem_email + '&mem_firstName=' + mem_firstName + '&happening_id=' + happening_id; if(doOnce){ doOnce--; $.ajax({ type: "POST", url: "/happening_getMem_linkUP.php", data: info, cache: false, success: function(html){ $("#now_from_linkup<?php echo $id; ?>").html(mem_firstName); doOnce++; } }); } return false; }); });
doOnce
начинается с true, поэтому ajax будет вызван, и doOnce
будет повернуто false, отключив вызов ajax, а затем, когда ajax вернется к успеху, doOnce
будет возвращен к true, чтобы он снова запустился.
Вы также можете использовать плагин Bench Alman's Throttle & Debounce