PDA

View Full Version : مشکل در انتصاب یک باره متغیر(خلاصه یک مشکل)فوری



barnamenevis2016
پنج شنبه 10 اردیبهشت 1394, 16:19 عصر
سلام...واقعیت دقیق نمی دونستم چه اسمی برا عنوان انتخاب کنم...امیدوارم بی ربط نباشه :)

$(document).ready(function() { $("div").css("border","9px solid red");
$(".autosuggest").keyup( function() {
var search_term = $(this).attr("value");
alert(search_term);
});
});
به کد بالا نگاه کنید...من انتظار دارم که با هر بار تایپ کردن جدید در یک فیلد متنی با کلاس autosuggest محتویات اون فیلد به متغیر search_term منتصب بشه و بعد برای کاربر نمایش داده بشه...ولی مشکل اینجاست که چیزی که به متغیر search_term منتصب می شه مقداری هست که فیلد autosuggest در هنگام لود شدن و پیش فرض داراست...و من هرچی در اون فیلد بنویسیم...همون متن اولیه و پیش فرض برای کابر نمایان میشه

بهزاد علی محمدزاده
پنج شنبه 10 اردیبهشت 1394, 19:01 عصر
سلام . بهتره کد کیبورد و بگیری تا مقدار تکست.


$(document).ready(function(){
$(".autosuggest").keypress(function(e){
var searchTerm = String.fromCharCode(e.which);
alert(searchTerm);
});
});


تفاوت keyup و keypress در نمایش حروف بزرگ و کوچک انگلیسی هست. در keyup حرف F و f یکی هست اما در دومی دو تا هستند. شما طبق نیازت از یکی از این متد ها استفاده کن.

barnamenevis2016
پنج شنبه 10 اردیبهشت 1394, 20:52 عصر
خیلی ممنون...از پاسخ شما استفاده کردم...ولی من می خواستم برای اینکه مثلا کاربر متنی رو در فیلد بنویسه و با هربار تایپ کاراکتر برنامه متن رو از فیلد بگیره و اون رو جست و جو کنه...ولی این چیزی که شما نوشتی تنها یک کاراکتری که کاربر می زنه رو نشون می ده...من می خوام کل متن داخل فیلد رو بدست بیارم و بلافاصله نتایج جست و جو رو در زیر فیلد بنویسم...آیا کسی برای حل این مشکل راهکاری بد است....ممنونم
___________________
ویرایش:
من به جای

.attr("value");
از

.val();
استفاده کردم...مشکل حل شد...
فقط نمی دونم چرا روش اول اشتباه بود...جالبه که یکی توی یک ویدئو دیدم از روش اول رفته و جواب گرفته بود....کسی چراییش رو می دونه؟

بهزاد علی محمدزاده
پنج شنبه 10 اردیبهشت 1394, 23:26 عصر
attr("value) مقدار پیشفرض و اولیه رو می خونه و val مقدار جاری رو.

شما برای کاری که می خوای انجام بدی از کتابخانه typeahead (https://twitter.github.io/typeahead.js/) تویتر استفاده کن.