【发布时间】:2013-01-10 02:00:14
【问题描述】:
下面有一个下拉菜单和一个空的选择框:
<select name="session" id="sessionsDrop">
<option value="">Please Select</option>
<option value='20'>EWYGC - 10-01-2013 - 09:00</option>
<option value='22'>WDFRK - 11-01-2013 - 10:05</option>
</select> </p>
$studentSELECT = "";
$studentSELECT .= '<select name="studenttextarea" id="studentselect" size="6">';
$studentSELECT .= '</select>';
以上在addstudent.php页面:
现在发生的情况是我有一个 php 代码,根据从下拉菜单中选择的评估,它会运行一个查询,如果找到数据库中的行,它会在选择框中显示一个学生列表,如果没有找到任何行,然后它只显示一条消息,说明在选择框中的评估中没有找到学生。代码如下,位于addedstudents.php 页面中,可通过ajax 访问。
$studentnum = $currentstudentstmt->num_rows();
$studentSELECT = "";
if($studentnum == 0){
$studentSELECT .= "<option disabled='disabled' class='red' value=''>No Students currently in this Assessment</option>";
} else {
while ( $currentstudentstmt->fetch() ) {
$studentSELECT .= sprintf("<option disabled='disabled' value='%s'>%s - %s %s</option>", $dbStudentId, $dbStudentAlias, $dbStudentForename, $dbStudentSurname) . PHP_EOL;
}
}
echo $studentSELECT;
我遇到的问题是,如果用户选择了Please Select 选项,它仍然会显示消息指出没有找到评估,这是因为显然此查询中没有模块,所以它认为它没有行显示消息。但是,如果选择了Please Select 选项,我不希望显示它,我只想让选择框为空。
问题是,即使我尝试使用 jquery 来执行此操作,但会发生选择框变空但几毫秒后返回消息的情况。
我的问题是,如果从下拉菜单中选择了 Please Select 选项,那么显示空选择框的最佳方法是什么?
以下是通过 jquery 进行的尝试:
$('#sessionsDrop').change( function(){
if( $(this).val() == '' ){
$('#studentselect').val('');
}
});
【问题讨论】:
-
为什么不在“请选择”选项中添加 DISABLED 属性?
-
你想让它无法点击吗?
-
@ianace 不,我不想让它不可点击,如果选择了请选择,我只是希望选择框为空。
-
如果是这种情况,请参阅我的回答