2016-12-09 57 views
1

下面是我用来确定select下拉列表的选项的代码。如何在PHP中没有值的选择下拉列表中创建选项

我遇到的问题是,当没有设置11月或5月时,我期望第一个选项的值为value=""。但是,PHP会忽略引号,并且不会将它们包含在HTML中,只会导致value。我之所以需要引号,是因为我使用的表格属性required验证形式,而当value"",验证考虑选择作为填充。

我已经试过value=\"\"value=\"''\"value=\"""\"在许多其他变化中,但似乎没有任何工作。

任何帮助,将不胜感激。

function month() { 
    global $link; 

    if(isset($_GET['month'])){ 
     $month=$_GET{'month'}; 
     if($month=='May') { 
      echo " 
       <option value=\"May\" selected=\"selected\">May</option> 
       <option value=\"November\">November</option> 
       "; 
     } else if($month=='November'){ 
      echo " 
       <option value=\"May\">May</option> 
       <option value=\"November\" selected=\"selected\">November</option> 
       "; 
     } 
    } else { 
     echo " 
      <option value=\"\" disabled selected hidden>Month</option> 
      <option value=\"May\">May</option> 
      <option value=\"November\">November</option> 
      "; 
    } 
} 
+0

当用双引号打印时,'value = \“\”'会被转义为'value =“”',所以应该做你想做的。 https://eval.in/693972 - 当你尝试时,输出是什么? – Qirel

+0

“但是,PHP会忽略引号,并且不会将它们包含在HTML中,从而产生正确的值。”你确定你没有错误的浏览器控制台输出的输出的PHP? PHP将使用此代码输出引号。 –

+0

为什么你需要\“??? – TheCrazyProfessor

回答

0

尝试在选择标签使用单引号(”“),用于回声字符串和双引号(”“)的价值属性:

echo '<option value="May" selected="selected">May</option> 
     <option value="November">November</option> 
'; 

这可能会有帮助。

相关问题