如何使用jQuery覆盖下拉列表的选定值

How to override the selected value of a drop-down list with jQuery

提问人:Sarmad Soz 提问时间:9/24/2022 最后编辑:Sarmad Soz 更新时间:9/25/2022 访问量:335

问:

我正在使用JSTL(在JSP页面上)的下拉列表,此下拉列表包含多条记录。代码 SS

原始下拉列表

预期结果:下拉列表上应有新的“值”,并且该值不是下拉列表的一部分。

<select name="salution" class="form-select" id="salution" required>
  <c:forEach items="${salution}" var="sol">
    <option value="${sol.lovVal}">${sol.lovName}</option>
  </c:forEach>
</select>

我想在该下拉列表上显示一个值,该值已经包含太多值。 我正在使用 Ajax 覆盖已经包含多个值的同一下拉列表上的单个值。

 var someValue="some value";                  
                $('#salution')
                        .find('option')
                        .remove()
                        .end()
                        .append('<option value="${sol.lovVal}" >${someValue}</option>');

也试过这个,我必须覆盖${someValue}。

var someValue="some value";                  
                $('#salution')
                        .find('option')
                        .remove()
                        .end()
                        .append('<option value="1" >${someValue}</option>');

有什么解决办法吗?

javascript html jquery ajax jsp

评论

0赞 freedomn-m 9/24/2022
您想删除单个 ?你对这个选项有什么了解吗?选了一个?更改为仅删除选定的<option>.find("option").find("option:selected")
0赞 Sarmad Soz 9/25/2022
我想从下拉列表中删除所有值并显示一个新值。(并希望将其设置为只读字段)我在一些博客上看到过这个.find('option')。我不知道我们为什么要使用它。
0赞 Sarmad Soz 9/25/2022
我使用了 .find(“option:selected”) 一个,但它根据 ID 获取值,这些 ID 已经是下拉列表的一部分。就我而言,我必须设置一个全新的值。
0赞 Vijay Hardaha 9/25/2022
如果您提供初始 HTML 和预期输出,则很容易回答<select><select>
0赞 Sarmad Soz 9/25/2022
请立即查看问题。

答:

0赞 Sarmad Soz 9/25/2022 #1

如果要在下拉列表中附加单个值,该值已包含多个值。

Freedom-m 在评论中有所帮助: https://stackoverflow.com/users/2181514/freedomn-m

您必须使用这行代码。

.append('<option value="1" >' + someValue + '</option>');