У меня есть форма на странице, которая находится в 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>";
}
Большое спасибо за помощь ребятам.
Вы отфильтровываете параметры на основе своего отображаемого текста, а не его значения, это работает для orderType
потому что его текст и значения одинаковы, но не так для orderSel
.
Используйте значение вместо этого.
jQuery('#orderSel option').filter(function(){return jQuery(this).val()==\"".$_GET[orderSel]."\"});
Если вы хотите установить выбранную опцию, вы можете просто передать значение параметра в значение выбора
jQuery('#orderSel').val(optionValue);