php - 检索 DropDown 的值(不显示项目)

标签 php javascript html ajax

我正在使用 AJAX 动态填充 DropDown。 DropDown 代码如下所示:

<select class="element select medium" id="inDistrict" name="inDistrict" onclick="MakeRequest('divDistrict', 'inDistrict', 'SELECT * FROM districtmaster');" onchange="alert(document.getElementByID('inDistrict').value);"> 
    <option value="Select" selected="Select">Select</option>
</select>

在 AJAX 请求上执行的另一个文件包含以下代码:

<?php
    require("dbconnection.php");
    require("dbaccess.php");

    $dropdownControlName = $_GET['DropDownControlName'];
    $query = $_GET['SqlQuery'];
    dbconnection::OpenConnection();
    $result = dbaccess::GetRows($query);
?>
<select name="<?php echo $dropdownControlName; ?>">
<option>Select from the list</option>
<?php while($row=mysql_fetch_array($result))
{ ?>
    <option value="<?= $row[0] ?>"><?= $row[1] ?></option>
<?php } ?>
</select>

一切正常,下拉列表也被填充,只是我没有遵循如何选择选项的值。在上面的代码中,您可以看到我使用 row[0] 作为值,使用 row[1] 作为显示项。我想每当用户选择任何 row[1] 显示项时选择 row[0] 值。

在上面的第一个代码中,您可以看到我添加了一个 onchange 事件,并且只有一个警报框。但它没有执行。如何选择 row[0] 值以及为什么 onchange 事件未触发?

最佳答案

onchange 不会响应所选值的 DOM 操作而触发。您可以使用一些简单的 JavaScript 手动触发它:

var inDistrict = document.getElementById('inDistrict');
if (inDistrict.onchange)
  inDistrict.onchange();

如果您使用 jQuery,那就更简单了:

$('#inDistrict').change();

由于看起来您要使用 ajax 请求替换整个下拉列表,因此只需在其中添加一些 javascript 即可在填充完成后触发更改事件,然后就可以开始了。

关于php - 检索 DropDown 的值(不显示项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990892/

相关文章:

php - 我如何在 MySQL 中排序一个列表,以便特定的 id 总是首先出现?

php - 将 CSV 文件中的值放入 PHP 变量中?

javascript - AngularJS body 函数随机关闭

html - zlib 压缩的 html 页面的文件扩展名?

javascript - 谷歌地图多标记不工作

php - 使用wordpress重写url时如何避免重定向

javascript - 如何在 Reactjs 组件中使用普通 JavaScript?

javascript - 使用 Angular 服务在组件之间传递数据

javascript - 如何在 Html/css 中在新窗口(而不是新标签页)中打开链接

java - Android Studio - 获取数字而不是 HTML 内容