javascript - 级联下拉空不显示任何值
问题描述
我尝试创建级联下拉菜单,当我选择 kanwil 值时,我有 2 个下拉 kanwil 和分支出现分支值,但是当我在具有值“-1”的分支中选择默认值时,分支下拉列表为空,这是控制器中的操作索引
public ActionResult Index(string PrmBranch="", string PrmWilayah = "")
{
string ParamWilayah = "";
string Parambranch = "";
if (PrmWilayah != "")
{
ParamWilayah = PrmWilayah.Trim();
ViewBag.wilayahsearch = PrmWilayah.Trim();
}
else
{
ParamWilayah = "-1";
}
if ( PrmBranch !="")
{
Parambranch = PrmBranch.Trim();
ViewBag.branchsearch = PrmBranch.Trim();
}
else
{
Parambranch = "-1";
}
//select from database
}
风景
@using (Html.BeginForm("Index", "CreateAccount", FormMethod.Post))
{
Wilayah
<div class="form-group">
<div class="input-group date">
<select class="form-control" id="WilayahDropdown" name="PrmWilayah" style="text-align: center"></select>
<span class="input-group-addon"> <span class="glyphicon glyphicon-institution fa fa-institution"></span>
</span>
</div>
</div>
</div>
<div class="col-sm-4">
Branch
<div class="form-group">
<div class="input-group date">
<select class="form-control" id="BranchDropdown" name="PrmBranch" style="text-align: center"></select>
<span class="input-group-addon">
<span class="glyphicon glyphicon-institution fa fa-institution"></span>
</span>
</div>
</div>
</div>
<div class="form-group">
<div class="input-group date">
<input type="submit" class="btn btn-primary" value="Search" name="" />
</div>
</div>
</div>
<input type="text" value="@ViewBag.wilayahsearch" id="btnWilayahsearch" />
<input type="text" value="@ViewBag.branchsearch" id="btnbranchsearch" />
}
<script type="text/javascript">
@Model.JavascriptToRun
$(document).ready(function () {
var Wilayahsearch = $('#btnWilayahsearch').val();
var branchsearch = $('#btnbranchsearch').val();
getWilayah();
if (Wilayahsearch.length > 0) {
if (Wilayahsearch == "-1") {
getBranch();
}
else if (branchsearch != "-1") {
getbranchselect(branchsearch);
}
else if (Wilayahsearch != "-1") {
getwilayahselect(Wilayahsearch);
getBranchWil();
}
}
else if (branchsearch.length < 0) {
getbranch();
}
else {
getBranchWil();
}
});
function getBranchWil() {
$.ajax({
type: "GET",
url: '@Url.Content("~/CreateAccount/getBranchWil")',
data: { kanwil: $('#btnWilayahsearch').val() },
success: function (data) {
var s = '<option value="-1">--- Branch ---</option>';
for (var i = 0; i < data.length; i++) {
s += '<option value="' + data[i].Branch + '">' + data[i].Branch + ' - ' + data[i].Branch_Name + '</option>';
}
$("#BranchDropdown").html(s);
}
});
}
function getWilayah() {
$.ajax({
type: "GET",
url: '@Url.Content("~/CreateAccount/getWilayah")',
data: "{}",
success: function (data) {
var s = '<option value="-1">--- Wilayah ---</option>';
for (var i = 0; i < data.length; i++) {
s += '<option value="' + data[i].Kanwil + '">' + data[i].Kanwil + ' - ' + data[i].Kanwil_Name + '</option>';
}
$("#WilayahDropdown").html(s);
}
});
}
function getwilayahselect(e) {
$.ajax({
type: "GET",
url: '@Url.Content("~/CreateAccount/getWilayah")',
data: "{}",
success: function (data) {
var namaWilayah = "";
for (var i = 0; i < data.length; i++) {
if (data[i].Kanwil == e.trim()) {
namaWilayah = data[i].Kanwil_Name;
}
}
var s = '<option value="' + e + '">' + e + ' - ' + namaWilayah + '</option>';
s += '<option value="-1">--- Wilayah ---</option>';
for (var i = 0; i < data.length; i++) {
if (data[i].Kanwil != e.trim()) {
s += '<option value="' + data[i].Kanwil + '">' + data[i].Kanwil + ' - ' + data[i].Kanwil_Name + '</option>';
}
}
$("#WilayahDropdown").html(s);
}
});
}
function getbranch() {
$.ajax({
type: "GET",
url: '@Url.Content("~/CreateAccount/getBranch")',
data: "{}",
success: function (data) {
var s = '<option value="-1">--- Branch ---</option>';
for (var i = 0; i < data.length; i++) {
s += '<option value="' + data[i].Branch + '">' + data[i].Branch + ' - ' + data[i].Branch_Name + '</option>';
}
$("#BranchDropdown").html(s);
}
});
}
我应该改变哪一部分或有什么建议?谢谢
解决方案
推荐阅读
- knockout.js - 淘汰赛:绑定到表时无法更新淘汰赛中的可观察数组
- java - 响应错误消息未显示在 Apache tomcat 中部署的 spring api 中,但在我使用 intellij 时在开发模式下显示
- google-chrome-extension - 如何跳过私有 Chrome 扩展的手动测试?
- mysql - 通过 SSH 列出和下载 Mysql
- c++ - C++ 宏:绝对值?
- javascript - iOS 设备上的 JS 返回 NaN
- javascript - Firestore 字段在查询中使用 orderBy 所需的索引
- r - 替换一列中与另一列匹配的字符串
- sql - GBQ中的窗口函数按顺序排序行为规范
- javascript - reactjs中返回未定义值的函数