PHP MySQL 动态选择与 Ajax 调用

标签 php jquery mysql ajax

不确定我的标题措辞是否正确,如果令人困惑,请道歉!

这是我的问题

我有一个动态选择,它是通过 ajax 调用上的数据填充的。我有一个与第一个选择的“更改”一起运行的函数。如果用户手动选择第一个下拉菜单项,则效果非常好,但是我一直在思考如何在编辑时使其正常运行。

这就是我想要实现的目标:

  1. 根据 ProdID 加载页面并填充其他表单字段(现在正在发生这种情况,因此不需要帮助;-))
  2. 检查从 getData.php 中提取的内容
  3. 填充 CatID 选择并将当前选择标记为“已选择”。
  4. 如果用户更改任一选择框,该函数将按当前方式运行。

这是我的功能:

$(function() {  
  $("#topcatid").change(function() {
    $("#catid").load("getData.php?choice=" + $("#topcatid").val());
  });
});

这是我的 html:

<select name="topid" id="topid" data-placeholder="Choose a category...">
  <option value="" <?php if (!(strcmp( "", ($rsProd->getColumnVal("topcatid"))))) {echo "selected=\"selected\"";} ?>>Select</option>
  <?php while(!$rsCat->atEnd()) {?>
  <option value="<?php echo($rsCats->getColumnVal(" topcatid ")); ?>"<?php if (!(strcmp($rsCat->getColumnVal("topid"), ($rsProd->getColumnVal("topid"))))) {echo "selected=\"selected\"";} ?>>
    <?php echo($rsCat->getColumnVal("catName")); ?>
  </option>
  <?php $rsCat->moveNext(); } $rsCat->moveFirst(); ?>
</select>

<select name="catid" required class="chzn-select" id="catid" style="width:350px" tabindex="2" data-placeholder="Choose a sub-category...">
  <option value="">Select from above...</option>
</select>

如果用户手动更改 TopID 选择,该函数将运行、获取数据并填充“catid”。然而,这是一个编辑/更新页面,所以我需要该函数按照我上面的理想场景运行。

非常感谢您的评论和代码编辑。

谢谢 尼克

最佳答案

对我来说,您应该在加载后立即执行的回调函数中执行此操作。

$("#topcatid").change(function() {
    $("#catid").load("getData.php?choice=" + $("#topcatid").val(), function() {
        // Manage the old and the new catid
    });
});

您还可以使用 jquery.ajax 函数,该函数将为您在查询之前和之后提供更多函数选项:

$.ajax({
  url: ""getData.php?choice=" + $("#topcatid").val()",
  beforeSend: function( xhr ) {
    // Do something
  }
})
  .done(function( data ) {
    // Do something with data
  });

关于PHP MySQL 动态选择与 Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771693/

相关文章:

php - 无法在Laravel命令中创建多个Redis连接

javascript - 通过 AJAX 发送 canvas.toDataUrl() 到 php

PHP usort 不会对类进行排序

jquery - Superfish 下拉列表被表格边界截断

php - SQL 中 strtotime 相当于什么?

php - Laravel 服务类在没有服务提供者的情况下也能工作吗?

javascript - javascript/jquery 上的几个条件过滤器

javascript - jQuery 查找一个元素

php - 为 python 中的参数化查询生成变量长度放置持有符字符串

mysql - 无法使用 Servlet 连接到 MySQL 数据库