Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Selected和select2插件的Dependent multiselect下拉列表_Javascript_C#_Jquery_Asp.net Mvc_Multi Select - Fatal编程技术网

Javascript 使用Selected和select2插件的Dependent multiselect下拉列表

Javascript 使用Selected和select2插件的Dependent multiselect下拉列表,javascript,c#,jquery,asp.net-mvc,multi-select,Javascript,C#,Jquery,Asp.net Mvc,Multi Select,这是我在视图中编写的代码: <div class="col-lg-12" style="margin-bottom: 20px;"> <div class="form-group"> <label class="col-sm-3 control-label" style=" margin-top: 14px; ">Domains&nbsp;<font size="3" color="red">*</fon

这是我在视图中编写的代码:

   <div class="col-lg-12" style="margin-bottom: 20px;">
    <div class="form-group">
        <label class="col-sm-3 control-label" style=" margin-top: 14px; ">Domains&nbsp;<font size="3" color="red">*</font></label>
        <br />

        <div class="col-sm-4" style="width:50%;">
            @Html.ListBoxFor(m => m.SelectedDomains, Model.AllDomains,
         new { @class = "chosen", multiple = "multiple", id = "drpDomains", style = "width: 350px;",onchange="FillDomain();" })
        </div>
    </div>
</div>




<div class="col-lg-12" style="margin-bottom: 20px;">
    <div class="form-group">
        <label class="col-sm-3 control-label" style=" margin-top: 14px; ">Domains new categories&nbsp;<font size="3" color="red">*</font></label>
        <br />

        <div class="col-sm-4" style="width:50%;">
            @Html.ListBoxFor(m => m.SelectedDomainCategories, Enumerable.Empty<SelectListItem>(),
           new { @class = "select2", multiple = "multiple", id = "multidomaincategory", style = "width: 350px;" })
        </div>
    </div>
</div>

<link href="~/Scripts/MultiSelect/chosen.css" rel="stylesheet" />
数据访问层(事务):

public IEnumerable GetDepCategories(字符串域)
{
//GetDepCategories方法-基于域获取类别
PTS_CommonEntities objentity=新PTS_CommonEntities();
列出所有技能=新建列表();
List catnames=objentity.usp_GetCatListBasedOnDomains(domains.ToList();
foreach(在catnames中为其设置变量)
{
添加(新建SelectListItem{Value=it.CategoryID.ToString(),Text=it.CategoryName});
}    
返回allskills.AsEnumerable();
} 当我清除(关闭)域中的选定项时,将从列表中清除相应的类别,但不在文本框中

形象

形象

如您所见,列表正在清除,但所选项目仍显示在UI中


有人能找出为什么在清除项目后仍显示这些项目吗?

因为您试图清除错误的元素
#multidomaincategory
是包含所有值的select2列表,在该元素之后有一个动态span类呈现到页面,请查看select2在浏览器中生成的html。尝试:

$('#multidomaincategory').next().find('li').html('');
由于
$(“#multidomaincategory”).html(“”),它们被从列表中清除清除类别列表的html,而不是文本框中呈现的文本元素


虽然更好的方法是:
$(“#multidomaincategory”)。选择2('data',null)

嘿@Martin,谢谢你的回答,但是当我使用你发布的两行时,呈现的文本元素没有被清除。您知道可以清除渲染文本的任何其他事件吗elements@jagadeesh64使用问题浏览器中呈现的select2 html编辑文章。
[HttpPost]
    public ActionResult FillIndustry1(string Domain)
    {
        JArray jsonMembersArr = (JArray)JsonConvert.DeserializeObject(Domain);//convert SymptomString from json string to array

        ProfessionalTrans objprofessionaltrans = new ProfessionalTrans();
        string listdomains = "";
        foreach (var a in jsonMembersArr)
        {

            listdomains = string.Join(",", a);
        }
        var DomainCategories = objprofessionaltrans.GetDepCategories(listdomains);

        return Json(DomainCategories.ToList());
    }
public IEnumerable<SelectListItem> GetDepCategories(string domains)
    {
 //GetDepCategories method - To get categories based on Domains
        PTS_CommonEntities objentity = new PTS_CommonEntities();
        List<SelectListItem> allskills = new List<SelectListItem>();

        List<GetCatListbasedDomain> catnames = objentity.usp_GetCatListBasedOnDomains(domains).ToList();

        foreach (var it in catnames)
        {
            allskills.Add(new SelectListItem { Value = it.CategoryID.ToString(), Text = it.CategoryName });

        }    

        return allskills.AsEnumerable();
$('#multidomaincategory').next().find('li').html('');