PDA

View Full Version : سوال: JQuery با DHTML کار نمی کند



hassanf
دوشنبه 07 تیر 1389, 14:05 عصر
سلام

من فرم سازی دارم که با استفاده از جاواسکریپت المان های HTML را تولید می کند(DHTML). می خواهم برخی از این المان ها Autocompete شوند. برای این کار از Plugin jquey استفاده کردم. مشکلی که وجود دارد این است که این پلاگین برای input هایی که بصورت دینامیک ساخته مشوند کار نمی کند. قطعه کدی Jquery را هم به جاهای مختلف( اول صفحه، آخر صفحه و فایلهای js) منتقل کرده ام ولی باز هم کار نمی کند.

ricky22
دوشنبه 07 تیر 1389, 15:01 عصر
سلام دوست خوب.
لطفا کدتون رو بزارید :)

hassanf
دوشنبه 07 تیر 1389, 16:03 عصر
سلام
من یه فرم ساز دارم که خودش از Liabrary های مجتلف استفاده کرده. فکر میکنم از YUI هم استفاده شده. حجم کدش کم نیست که بخوام بذارم. ولی فرض رو بر این بگیرید که این فرم ساز هنگام Load شدن صفحه ابتدا فرم ما رو میرسازد(با جاوا اسکریپت). بعد از ساخته شدن فرم کاری که من می کنم اینه که می خوام با JQuery مثلا یکسری Event به اینها Bind کنم ولی در عمل این قسمت کار نمی کند.



$(".b12").click(function(){
alert("11111")
});


b12 اسم button تولید شده با فرم ساز است.

mehdi.mousavi
دوشنبه 07 تیر 1389, 16:49 عصر
سلام من یه فرم ساز دارم که خودش از Liabrary های مجتلف استفاده کرده. فکر میکنم از YUI هم استفاده شده. حجم کدش کم نیست که بخوام بذارم. ولی فرض رو بر این بگیرید که این فرم ساز هنگام Load شدن صفحه ابتدا فرم ما رو میرسازد(با جاوا اسکریپت). بعد از ساخته شدن فرم کاری که من می کنم اینه که می خوام با JQuery مثلا یکسری Event به اینها Bind کنم ولی در عمل این قسمت کار نمی کند.

سلام.
لطفا بدین شکل عمل کنید:


$('.b12').live('click', function() {
alert('it works');
});

موفق باشید.

hassanf
دوشنبه 07 تیر 1389, 21:01 عصر
سلام
تا اونجا که من متوجه شدم چون المنت های صفحه بعد از load صفحه ساخته می شه، کدهای JQuery عمل نمی کنه ولی با live می تونیم حتی بعد از Load هم Handlerها را به Event Bind کنبم.
روش استفاده از Live با Autocomplete رو هم میشه بفرمایید.
با تشکر

hassanf
دوشنبه 07 تیر 1389, 22:27 عصر
از live فقط برای event ها می توان استفاده کرد و راهکار دیگه ای پیدا نکردم.
مجبور شدم کد JQuery رو توی فایل های js بعد از این که فرم ساخته شده و داخل المان مورد نظر قرار گرفت، بصورت زیر بنویسم:


$('#place').find(".asd").autocomplete(data);