我想知道有人点击特定的选择选项。这是一个搜索表单,我希望用户能够在日期之间搜索,所以如果他们选择在日期之间搜索的选项,那么它将显示第二个日期搜索字段。我使用bootstrap datepicker作为日期输入
以下是我的HTML示例:
<select name="select_menu" id="select_field">
<option value="select_one">Please Select One</option>
<option value="search_between_dates">Search Between Two Dates</option>
</select>
<input type="text" name="date" id="dpd1" class="dpd1">
<div id="select_feed"></div>
PHP示例:
if(isset($_GET['filter'])) {
$filter = mysql_real_escape_string($_GET['filter']);
if($filter == 'search_between_dates') {
$date1 = $_GET['date'];
$date2 = $_GET['date2'];
$query = "SELECT * FROM table WHERE date BETWEEN '".$date1."' AND '".$date2."';
// So on and so forth
} elseif($filter == '') {
//So on and so forth
}
} else {}
答案 0 :(得分:1)
您可以使用javascript获取所选的选项索引/值,然后从那里进行处理。
selectBox = document.getElementById("select_field");
currentIndex = selectBox.selectedIndex;
currentValue = selectBox[currentIndex].value;
//Continue processing as you need
根据您的需要,它将为您提供当前用户选择的选项的索引值以及“值”属性的内容。
另一方面,您的代码对SQL注入攻击是可以理解的,如果这是一个新项目,您应该考虑在常规mysql_ *函数集上使用MySQLi库。他们不再受到支持,我相信他们也被弃用了。
答案 1 :(得分:0)
像这样更改HTML:
<select name="select_menu" id="select_field">
<option value="select_one">Please Select One</option>
<option value="search_between_dates">Search Between Two Dates</option>
</select>
<input type="text" name="date" id="dpd1" class="dpd1">
<input type="text" name="date2" id="dpd2" class="hidden">
<div id="select_feed"></div>
然后你可以使用一些jquery来显示第二个输入:
$( document ).ready( function() {
$('#select_field').change(function() {
if ($('#select_field').val() == "search_between_dates") {
$('#dpd2').show();
}
});
});
注意:我实际上没有测试代码,因此可能会隐藏一些细微的语法错误。