Yii Framework Forum: Cgridview فیلتر با Keyup - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Cgridview فیلتر با Keyup

#1 User is offline   arman 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 21-May 13

Posted 04 April 2014 - 02:54 AM

سلام دوستان ، می خوام موقع سرچ تو گریدویو بدون نیاز به enter و همزمان با رویداد keyup داده های gridview برام filter بشه .
چند تا آموزش دیدم که ظاهرا کاملترین شون این لینک بود
اینم کدی که نوشتم :

<?php
Yii::app()->clientScript->registerScript('keyupfilter',"
   $( document ).ready(function() {
        $('body').on('keyup', '.filters > td > input', function() {
            var focusedId = $(document.activeElement).attr('id');
            var grid_id = $('#' + focusedId + '.form').closest(\"div\").attr('id');

            $('#' + grid_id).yiiGridView('update', {
                data: $(this).serialize(),
                complete: function(jqXHR, status) {
                    if (status == 'success') {
                        var tmpStr = $('#' + focusedId + '.form').val();
                        $('#' + focusedId + '.form').focus();
                        $('#' + focusedId + '.form').val('');
                        $('#' + focusedId + '.form').val(tmpStr);
                    }

                }
            });
           return false;
        });
   });
    ",CClientScript::POS_END);
?>


ظاهرا قسمت update اجرا نمیشه چون وقتی به جای '#' + grid_id آی دی فرم ام رو گذاشتم قسمت آپدیت فعال شد ولی cursor روی فیلد فعال برنمیگرده

0

#2 User is offline   arman 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 21-May 13

Posted 08 April 2014 - 07:27 AM

یعنی هیچکس چنین مشکلی نداشته !! :huh:
یا هیچ نظر خاصی ندارید راجع به این موضوع !! :)


0

#3 User is offline   faridplus 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 93
  • Joined: 28-March 12

Posted 09 April 2014 - 01:13 AM

چند تا grid توی صفحه دارید؟

What you give is what you get (WYGIWYG)

If you liked my post, just give it a +1. that's all!
0

#4 User is offline   arman 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 21-May 13

Posted 09 April 2014 - 02:57 AM

View Postfaridplus, on 09 April 2014 - 01:13 AM, said:

چند تا grid توی صفحه دارید؟



یکی
برای شما این کد کار میکنه ؟؟
شاید جای درستی نذاشتمش
توی view -> admin نوشتمش

0

#5 User is offline   faridplus 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 93
  • Joined: 28-March 12

Posted 09 April 2014 - 04:50 AM

View Postarman, on 09 April 2014 - 02:57 AM, said:

یکی
برای شما این کد کار میکنه ؟؟
شاید جای درستی نذاشتمش
توی view -> admin نوشتمش



اگر فقط یکی هست که به نظر من این همه کد اضافیه . بالاخره شما id این grid رو حتما دارید دیگه نیازی به grid_id و .. نیست
فرض کنیم id گرید باشه myGrid اونوقت این کد رو امتحان کنید:



Yii::app()->clientScript->registerScript('keyupfilter',"
   $( document ).ready(function() {
        $('body').on('keyup', '#myGrid .filters > td > input', function() {            
            $('#myGrid').yiiGridView('update', {
                data: $(this).serialize()
            });
       	return false;
        });
   });
    ",CClientScript::POS_END);


What you give is what you get (WYGIWYG)

If you liked my post, just give it a +1. that's all!
0

#6 User is offline   arman 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 21-May 13

Posted 09 April 2014 - 05:28 AM

منظورم این بود تو اون ویو فقط یک گرید ویو دارم
حالا فرض کنیم یک گرید داشته باشم این کد هم درست ولی مشکل اینه که می خوام مکان نما برگرده روی همون فیلد قبلی
اگر دقت کنید با این کد هر کلمه که وارد می کنیم باید با ماوس کلیک کنید روی فیلدی که می خواهید فیلتر بشه بعد باز دوباره کلمه ی بعدی رو وارد کنیم و اینجوری خیلی ضایعه !! :)

0

#7 User is offline   faridplus 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 93
  • Joined: 28-March 12

Posted 09 April 2014 - 05:56 AM

View Postarman, on 09 April 2014 - 05:28 AM, said:

منظورم این بود تو اون ویو فقط یک گرید ویو دارم
حالا فرض کنیم یک گرید داشته باشم این کد هم درست ولی مشکل اینه که می خوام مکان نما برگرده روی همون فیلد قبلی
اگر دقت کنید با این کد هر کلمه که وارد می کنیم باید با ماوس کلیک کنید روی فیلدی که می خواهید فیلتر بشه بعد باز دوباره کلمه ی بعدی رو وارد کنیم و اینجوری خیلی ضایعه !! :)



حالا با این توضیحات شما اون کدها یه خورده معنی پیدا کرد Posted Image در این صورت همون کد خودت رو با یک id مشخص دوباره بنویسدر ضمن من الان سریع تست کردم باید اینجوری فیلترها رو select کرد علامت کوچکتر یعنی فرزند مستقیم که اینجا صدق نمیکنه
#myGrid .filters td input

What you give is what you get (WYGIWYG)

If you liked my post, just give it a +1. that's all!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users