我正在使用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>
感谢您的帮助。
答案 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
});
})