设置从属选择框,没有其值

时间:2019-05-02 21:08:30

标签: javascript c# asp.net-core

我正在使用ASP.net开发一个页面,在其中一个页面中,我有一个依赖于另一个的选择列表。但是,从属列表的选项不仅具有其他选择列表的值,还具有其自己的ID。我知道这是一个糟糕的解决方案,我会尽快进行更改,但这就是我现在需要的。代码如下。

设置列表:

listaversao = _context.Versao.Select(v => new SelectListItem
 {
   Value = v.idLinguagem.ToString() +"*" +v.idVersao.ToString(),
   Text = v.nmVersao
  });

现在使用javascript:

$('#lingua').change(function () {
    $('#versa').hide();
    var n = $("#versa option").split("*");
    n = $n[0]; 
    $('#street option[value="' + n + '"]').show();
    // add this code to select 1'st of streets automaticaly 
    // when city changed
    if ($('#street option[value="' + n + '"]').length) {
        $('#street option[value="' + n + '"]').first().prop('selected', true);
    }
    // in case if there's no corresponding street: 
    // reset select element
    else {
        $('#versa').val('');
    };
})

还有html:

<div>
  <div class="form-group">
    <label asp-for="Scripts.idLinguagem" class="control-label"></label>
    <br />
    <select id="lingua" asp-for="linguagem" asp-items="Model.listaling">      </select>
  </div>
  <div>
     <div class="form-group">
         <label class="control-label">Versão Disponível</label>
         <br />
         <select id="versa" onclick="mostrarv()" multiple="multiple" asp-for="selecaover" asp-items="Model.listaversao"></select>
         <br />
      </div>
   </div>

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这似乎是您想要获取versa下拉列表的选定选项值并拆分以获取其idLinguagem的原因,因为versa是多选下拉列表,因此只需将javascript修改为:

$('#lingua').change(function () {
  $('#versa').hide();

  $.each($("#versa").val(), function (index, value) {
      var n = value.split("*")[0]

      ....//your other operations 
  });

})