2013-12-18 101 views
0

我有一個在PHP頁面上的窗體。以下三個函數隨後被調用。jQuery選項選擇半工作

我想要實現的是兩個選擇採取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

您正在篩選基於其顯示文本而非其值的選項,這適用於orderType,因爲它的文本和值相同,但orderSel則不同。

改爲使用該值。

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

如果您想設置所選的選項,你可以在選項的值只傳遞給選擇的價值

jQuery('#orderSel').val(optionValue); 
+0

非常感謝,工作就像一個魅力 – injurer001