Селектор Jquery с $ (this) .val (); - PullRequest
0 голосов
/ 10 октября 2011

Я бы хотел избавиться от строки:

var zzz = $(this).val();

в

var zzz = $(this).val();
$('li.' + zzz).show();

Есть ли способ сделать это?

Полный код:

    $(document).ready(function(){

    // Add onclick handler to checkbox w/id checkme
   $("#fcheck input").click(function(){

    // If checked
    if ($("#fcheck input").is(":checked"))
    {
        //show the hidden div
        var zzz = $(this).val();
        $('li.' + zzz).show();
    }
    else
    {
        //otherwise, hide it
        var yyy = $(this).val();
        $('li.' + yyy).hide();
    }
  });

});

Причина в том, что у меня есть несколько входов, поэтому я не хочу, чтобы переменная была установлена ​​вечно (возможно, мне следует сбросить ее после каждого вызова, но я не знаю, как это сделать).

Большое спасибо.

1 Ответ

5 голосов
/ 10 октября 2011

Причина в том, что у меня есть несколько входов, поэтому я не хочу, чтобы переменная была установлена ​​вечно (возможно, я должен сбрасывать, если после каждого вызова, но я тоже не знаю, как это сделать).

Технически эта переменная не устанавливается навсегда, как только выходит из области действия этой функции.Вы можете упростить свой код до того, что у меня есть ниже, используя toggle() на основе результата is(":checked"), но то, что у вас есть, должно работать нормально.

$("#fcheck input").click(function(){
    var $this = $(this);
    $('li.' + $this.val()).toggle($this.is(":checked"));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...