不确定我的标题措辞是否正确,如果令人困惑,请道歉!
这是我的问题
我有一个动态选择,它是通过 ajax 调用上的数据填充的。我有一个与第一个选择的“更改”一起运行的函数。如果用户手动选择第一个下拉菜单项,则效果非常好,但是我一直在思考如何在编辑时使其正常运行。
这就是我想要实现的目标:
- 根据 ProdID 加载页面并填充其他表单字段(现在正在发生这种情况,因此不需要帮助;-))
- 检查从 getData.php 中提取的内容
- 填充 CatID 选择并将当前选择标记为“已选择”。
- 如果用户更改任一选择框,该函数将按当前方式运行。
这是我的功能:
$(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/