Опция jQuery выбрана наполовину рабочей

0

У меня есть форма на странице, которая находится в php. Ниже перечислены три функции ниже.

То, что я хочу достичь, состоит в том, что эти два варианта принимают значение GET и выбирают себя в нужное значение.

OrderType работает нормально, но orderSel нет. Я не знаю, почему, и это моя проблема.

Здесь функции:

function loadOrderButton()
{
  echo "<form name=\"input\" action=\"colview.php\" method=\"get\">
        <select onchange=\"this.form.submit()\" class=optionText3 name=\"orderSel\" id=\"orderSel\">
            <option class=optionText  value=\"\">ORDER BY</option>
            <option class=optionText  value=\"name\">Name</option>
            <option class=optionText  value=\"overall\">Overall</option>
            <option class=optionText  value=\"skt\">Skating</option>
            <option class=optionText  value=\"sht\">Shooting</option>
            <option class=optionText  value=\"hnd\">Hands</option>
            <option class=optionText  value=\"chk\">Checking</option>
            <option class=optionText  value=\"def\">Defense</option>
            <option class=optionText  value=\"faceoff\">Faceoffs</option>
        </select>
        <input type=hidden name=\"l\" value=".$_GET[l].">
        <input type=hidden name=\"t\" value=".$_GET[t].">
        <input type=hidden name=\"orderType\" value=".$_GET[orderType].">
        </form>";
}

function loadOrderTypeButton()
{
  echo "<form name=\"input\" action=\"colview.php\" method=\"get\">
        <select onchange=\"this.form.submit()\" class=optionText3 name=\"orderType\" id=\"orderType\">
            <option class=optionText  value=\"DESC\">DESC</option>
            <option class=optionText  value=\"ASC\">ASC</option>
        </select>
        <input type=hidden name=\"l\" value=".$_GET[l].">
        <input type=hidden name=\"t\" value=".$_GET[t].">
        <input type=hidden name=\"order1\" value=".$_GET[orderSel].">
        </form>";
}

function setLoadOrder()
{
  echo "<script>    
        var el = jQuery('select#orderSel option[value=\"".$_GET[orderSel]."\"]');
        var el = jQuery('select#orderSel option').filter(function(){return jQuery(this).text()==\"".$_GET[orderSel]."\"});
        el.attr(\"selected\", \"selected\");
        var el = jQuery('select#orderSel option:selected');
        el.text();  

        var el = jQuery('select#orderType option[value=\"".$_GET[orderType]."\"]');
        var el = jQuery('select#orderType option').filter(function(){return jQuery(this).text()==\"".$_GET[orderType]."\"});
        el.attr(\"selected\", \"selected\");
        var el = jQuery('select#orderType option:selected');
        el.text();
       </script>";
}

Большое спасибо за помощь ребятам.

Теги:

1 ответ

0
Лучший ответ

Вы отфильтровываете параметры на основе своего отображаемого текста, а не его значения, это работает для orderType потому что его текст и значения одинаковы, но не так для orderSel.

Используйте значение вместо этого.

jQuery('#orderSel option').filter(function(){return jQuery(this).val()==\"".$_GET[orderSel]."\"});

Если вы хотите установить выбранную опцию, вы можете просто передать значение параметра в значение выбора

jQuery('#orderSel').val(optionValue);
  • 0
    Большое спасибо, работал как шарм

Ещё вопросы

Сообщество Overcoder
Наверх
Меню