我在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>";
}
非常感谢帮助人员。
答案 0 :(得分:0)
您正在根据显示文字而不是其值来过滤选项,这适用于orderType
,因为其文本和值相同,但orderSel
则不然。
请改用该值。
jQuery('#orderSel option').filter(function(){return jQuery(this).val()==\"".$_GET[orderSel]."\"});
如果要设置所选选项,只需将选项的值传递给选择的值
即可jQuery('#orderSel').val(optionValue);