javascript - 两个选择列表的重复操作

标签 javascript c# jquery asp.net-mvc

我需要复制两个选择列表的操作,例如,如果您为第一个选择列表选择一个值,则另一个应该自动更新。

这是我的代码:

    <div class="form-group">
        @Html.LabelFor(model => model.descripcion, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            <div class="form-inline md-form mr-auto">
                <select class="form-control" id="descripcion" name="descripcion" onchange = "return GetChange(this);">
                    <option>Texto 1</option>
                    <option>Texto 2</option>
                    <option>Texto 3</option>
                </select>
                @Html.ValidationMessageFor(model => model.descripcion)
            </div>
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.descripcion, new {onChange = "return GetValue(this);", @class = "control-label col-md-2" })
        <div class="col-md-10">
            <div class="form-inline md-form mr-auto">
                <select class="form-control" id="descripcionx" name="descripcionx" onchange="return GetValue(this);">
                    <option value="20">Texto 1</option>
                    <option value="30">Texto 2</option>
                    <option value="40">Texto 3</option>
                </select>
                @Html.ValidationMessageFor(model => model.descripcion)
            </div>
        </div>
    </div>

这是我的 JavaScript 函数:

function GetChange(ctr) { 
    var i = $("#descripcion option:selected").index(); 
    $("#descripcionx").val(i); 
}

最佳答案

如果你想用位置更新它,那么你应该这样做

function changeDropdown(e){
  var value = $("#descripcion option:selected").index();
  $("#descripcionx").prop('selectedIndex', value);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="form-group">
        <div class="col-md-10">
            <div class="form-inline md-form mr-auto">
                <select class="form-control" id="descripcion" name="descripcion" onchange = "changeDropdown(this);">
                    <option>Texto 1</option>
                    <option>Texto 2</option>
                    <option>Texto 3</option>
                </select>
            </div>
        </div>
    </div>

    <div class="form-group">
        <div class="col-md-10">
            <div class="form-inline md-form mr-auto">
                <select class="form-control" id="descripcionx" name="descripcionx" onchange="changeDropdown(this);">
                    <option value="20">Texto 1</option>
                    <option value="30">Texto 2</option>
                    <option value="40">Texto 3</option>
                </select>
            </div>
        </div>
    </div>

但在这种情况下,两个下拉选项顺序必须相同。最好在两个下拉列表中使用相同的 value 属性。然后你就可以简单地改变它

function changeDropdown(e){
  var value = $("#descripcion option:selected").val();
  $("#descripcionx").val(value);
}

关于javascript - 两个选择列表的重复操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58151336/

相关文章:

javascript - 如何让ejs在firebase更新时自动重新渲染

javascript - 使用 javascript 更改警报消息文本颜色

javascript - 使用 jquery 以表单形式克隆文件上传输入字段

javascript - Bootstrap 放大模型内容

javascript - 在 jQuery DataTables 中使用 sDom 删除搜索框

javascript - 在 Vue.js 中处理回车键

php - 使用 Google Map API v3 提供的 DirectionsService 查找并显示最近标记的路线

c# - 如何创建动态数据表?

c# - 异步和等待总是返回 "Waiting for completion"

c# - 在定义为静态资源的 Storyboard 上设置 Storyboard.Targetname