j查询更改下拉列表调用 Web 服务以加载选项
jQuery on change dropdown call web service to load options
我有一个带有下拉列表和可变数量的选项(以复选框和文本输入的形式)的表单。
我想要实现的是更改下拉列表的值,调用 Web 服务并加载其下的各种选项。我知道我大致必须使用 jQuery 的 onchange 事件并让 Ajax 将标记加载到div 中。
但是我究竟如何实现这一目标呢?
我正在使用 Bootstrap 3,我的一些表单代码如下。不过,我不确定如何编写我的Javascript或Ajax部分。
下拉列表
<div class="form-group">
<label for="inputBranch" class="col-lg-2 control-label">Branch</label>
<div class="col-lg-10">
<select class="form-control" id="resBranch">
<?php
// print all branch name
// if is same as merchantID, mark as selected
foreach($branchesArray as $branch) {
if($branch['merchantID'] == $merchantID) {
echo "<option selected>" . $branch['name'] . "</option>";
} else {
echo "<option>" . $branch['name'] . "</option>";
}
}
?>
</select>
</div>
</div>
选项
<div class="form-group">
<label for="" class="col-lg-2 control-label">Options</label>
<div class="col-lg-10">
<?php
foreach ($featuresArray as $feature) {
?>
<div class="checkbox">
<label>
<input type="checkbox" value="<?php echo $feature['customValue']; ?>">
<?php echo $feature['customValue']; ?>
</label>
</div>
<?php
} // end foreach
?>
</div>
</div>
您可以将带有当前所选表单选项的 ajax 请求发送到 php Web 服务,该服务返回要添加到表单中的 html。js 可能看起来像这样:
$( document ).ready(function () {
$('select').change(function () {
$.get('ajax.php?option=' + $('select').val(), function(data) {
if(data == "error")
{
//handle error
}
else {
$('div.ajax-form').append(data); //create an element where you want to add
//this data
}
});
});
});
PHP 可能如下所示:
if(isset($_GET['option'])) {
if($_GET['option'] == 1)
{
//echo form data for option one here
}
elseif($_GET['option'] == 2)
{
//echo form options for option two here
}
elseif($_GET['option'] == 3)
{
//echo form options for option two here
}
//other options here
else
{
echo "error"; //select value not correct
}
}
相关文章:
- Sails.js:我可以将一些服务/模型打包为npm并在Sails.jss应用程序中加载npm吗
- 如何使用 javascript 从 Web 服务重新加载项目集合
- 谷歌应用程序脚本html服务和加载谷歌地图javascript api V3
- 如何使应用程序加载独立于web服务调用
- 服务工作者第一次不加载
- 必须等待执行 jQuery,直到加载服务
- Angular $http 服务不加载 json 文件
- 如何优化服务和加载JavaScript文件
- AJAX加载JSON数据并将其存储在angularjs服务中
- 如何在从缓存加载路由后强制服务工作者从网络请求路由
- JQuery不加载通过服务获得的效果
- AngularJS每次打开页面时加载服务
- requirejs:从web服务加载脚本/模块
- 使用指令范围中的参数从角度指令中的服务加载数据
- 使用AngularJS从web服务加载数据
- 如何在AngularJS中将数据从同一服务加载到两个不同的作用域变量
- Angular ui路由器:从服务加载数据和参数的值
- JS数据服务加载所有数据或只需要的数据
- 如何从返回JSON的REST web服务加载ng表中的数据
- AngularJS从服务加载数据