在 javascript 中更改选择框的选定文本

Changing the selected text of a select box in javascript

本文关键字:文本 选择 javascript      更新时间:2023-09-26

我有一个功能,如果用户在选择框中将 IP 更改为未分配,则会弹出一个警报,询问他们是否确定,在取消此警报时,我希望 select2 框变回原始状态(即已分配等(。

我已经能够通过将原始值存储在变量中,然后在取消警报时将其分配给选择的值来更改 select2 框的值

else
    $('#ip_status').val(original_status)

但是,尽管这确实更改了 select2 框的值,这意味着功能正在工作,但 select2 框中的文本保持"未分配",从而给最终用户一个误导性的值。请记住,.text("示例"(不起作用。

谢谢。

完整代码 -

original_status = document.getElementById('ip_status').value
$('#ip_status').change ->
# If the user changes ip status to unallocated, clear and hide system name and description fields.
if parseInt($('#ip_status').val()) == 0
  r = confirm("You are about to unallocate this IP! Are you sure you want to do this?")
  if r == true
    $('#ip_description').val("").parent().hide()
    $('#ip_system_name').val("").parent().hide()
  else
    $('#ip_status').val(original_status)
else
  # if the select changes to allocated or reserved, re-show the fields that were hidden
  $('#ip_description').parent().show()
  $('#ip_system_name').parent().show()

你必须使用类似的东西:

$( function() {
    $("#your_option").attr("selected", "selected");
});

我能够通过更改来解决此问题

$('#ip_status').val(original_status)

$("#ip_status").select2("val", original_status)