PDA

View Full Version : Autocomplete



olampiad
دوشنبه 15 مهر 1392, 13:48 عصر
سلام
من دارم با autocomplete کار می کنم.
سوالات زیادی در موردش می خوام بپرسم که باعث اذیت اساتید می شه. سوالارو هم اینجا می پرسم.
یه سوال
خواستم ببینم می شه source رو به غیر از array , object چیز دیگه ای قرار بدیم
من می خوام از روی کد زیر جست و جو کنم


<li>
<div>03 - Manufacturing Team Challenge</div>
<ul>
<li data-country="KOREA" title="GOLD">Tae Young Hwang</li>
<li data-country="KOREA" title="GOLD">Hyung Jun Kim </li>
<li data-country="KOREA" title="GOLD">Jung Seung Lim </li>
<li data-country="AUSTRALIA" title="SILVER">Andrew Arthur </li>
<li data-country="AUSTRALIA" title="SILVER">Kyle Butler </li>
<li data-country="AUSTRALIA" title="SILVER">Luke Davies </li>
<li data-country="CHINESE TAIPEI" title="BRONZE">CHENG-HUNG CHIEN </li>
<li data-country="CHINESE TAIPEI" title="BRONZE">CHING-HUNG HUANG </li>
<li data-country="CHINESE TAIPEI" title="BRONZE">CHENG-YUEH TSAI </li>
</ul>
</li>
<li>
<div>04 - Mechatronics</div>
<ul>
<li data-country="JAPAN" title="GOLD">Kazuhiro Hamada</li>
<li data-country="JAPAN" title="GOLD">Kyohei Nagano </li>
<li data-country="BRAZIL" title="SILVER">Dariel Gomes </li>
<li data-country="BRAZIL" title="SILVER">Marcio Silva </li>
<li data-country="SWEDEN" title="BRONZE">John Karlsson </li>
<li data-country="SWEDEN" title="BRONZE">Dennis Larsson </li>
<li data-country="KOREA" title="BRONZE">Seong Beom Lee </li>
<li data-country="KOREA" title="BRONZE">Kwang Hyun Yang </li>
</ul>
</li>


چه جوری می شه soure رو محتوای li ها یا title و یا data-country قرار بدبم.
مثلا بیا از روی محتوای title ها جستجو کنه
ممنون

sinoser
دوشنبه 15 مهر 1392, 17:57 عصر
(source نه soure) :)
وا ... خب یک سلکت بزن مقدار title ها رو در بیار بعد بذارش تو source

olampiad
دوشنبه 15 مهر 1392, 21:10 عصر
سلام
اشکال نداره تازه واردیم!!!
چه جوری سلکت کنم
می شه یه توضیح مختصر بدین
ممنون

olampiad
دوشنبه 15 مهر 1392, 21:24 عصر
سلام این تابع چیه؟
تو autocomplete به چه درد می خوره.
ممنون

olampiad
دوشنبه 15 مهر 1392, 21:29 عصر
سلام
کار اصلی این تابع چیه؟

_renderItem

به چه درد می خوره
تو کجای autocomplete به درد می خوره.
خیلی ممنون

sinoser
سه شنبه 16 مهر 1392, 14:26 عصر
توی اینجا اطلاعات کاملی هست
http://api.jqueryui.com/autocomplete/#method-_renderItem

olampiad
سه شنبه 16 مهر 1392, 19:02 عصر
سلام
من می خوام کل li هایی که اتریبیوت data-country دارند رو انتخاب کنم.و
از روی اون ها جست جو کنم.
این کد رو نوشتم ولی
فقط اولین li را انتخاب می کند.
مــــــــــمـــــــــــنـ ـــــــــــون


var ggg=$('#result ul ul li').attr('data-country')
var obj=[ggg]

$('#search').autocomplete({
source:obj
})

olampiad
سه شنبه 16 مهر 1392, 20:51 عصر
من هر چقدر مثال های aoutocomplete سایت jqueryui.com رو نگا کردم
چیزی حالیم نشد
مثال هاش خیلی سخته
از کجا می تونم آموزش های آسون تری روبه دست بیاریم.
ممنون

sinoser
سه شنبه 16 مهر 1392, 21:55 عصر
متاسفانه مرجع فارسی کامل و خوبی نیست
ولی این کتاب خوبیه
اون توابع هم برای ساخت خورجی لیست های سفارشی هست
البته چون تا حالا به کارم نیامده دقیق نمی دونم
ولی میدونم میشه گروه بندی کرد توی لیستی که میاد

این کد رو هم امتحان کن :

var result = $('#result li[data-country]').map(function(index, element) {
return $(this).attr('data-country');
});

$('#search').autocomplete({
source:result
})

olampiad
سه شنبه 16 مهر 1392, 22:44 عصر
یه سوال داشتم
کار اصلی تابع map چیه؟
به چه درد می خوره
مــــــــــــــــمـــــــ ــــــــــنون

sinoser
چهارشنبه 17 مهر 1392, 06:58 صبح
تابع map هم مثل each هست
عناصر select شده رو پیمایش می کنه
اما فرقشون اینها
each صرفا برای پیمایش هست
مثلا به کلیه تگ های p بخواهید مقدار attribute (صفت یا همون attr ) اضافه کنیم به طوری که شامل اندیس مکانیشون باشه
اینجا داخل تابع each داریم

$(this).attr(i

که این پارامتر تابع each هست


اما متد map برای اصلاح یا واکشی های مجموعه ای به کار میره
و مقدار return هر چه باشد به جای اون سلکتور در مجموعه سلکت می نشیند و اگر return null بشه اون امان رو حذف می کنه از مجموعه سلکت

olampiad
جمعه 19 مهر 1392, 14:28 عصر
سلام
به این کد یه نگا بندازید

var bb=["hamid","hadi","halim","hajar"];
var yy=["javad","jamshid","jafar","jasem"];
$('#search').autocomplete({
source:bb+yy
})

من می خوام کدی ینویسم که اگه تو آرایه اولی پیدا نکر بیاد دنبال آرایه دومی.
یعنی از چند تا آرایه جست جو کنه.
حالا این کد رو نوشتم ولی مار نکرد.
مشکل از کجاست
ممنون

sinoser
جمعه 19 مهر 1392, 14:51 عصر
var bb=["hamid","hadi","halim","hajar"];
var yy=["javad","jamshid","jafar","jasem"];
$.merge(bb,yy);
$('#search').autocomplete({
source:bb
})