列表中的选项在呈现后可以更改吗?

Can choices in a list be changed after it has been been rendered?

我有一个 w2ui 表单,其中包含一个 w2ui 选项下拉列表。选择将根据用户选择的内容而有所不同以显示表单。我的问题是:Drop List 的内容在渲染后可以更改吗?

使用标准 HTML 控件,我会这样做:

$("#mySelect option[value='xyz']").remove();

$("#mySelect").append('<option value="abc">abc</option>');

这些类型的操作可以用 w2ui 下拉列表来完成吗?任何示例代码?

在 w2ui 1.5 中,您可以使用 $jQueryElement.w2field() 访问 w2fild 对象 - 然后对其进行操作。

示例:

var field = $("#my_input").w2field();
field.options.items = ["my", "new", "items"];
// optionally: pre-select first item
field.setIndex(0);
// if you do NOT use "setIndex" you need to call "refresh" yourself!
// field.refresh(); 

注意:setIndex() 内部调用 refresh() - 因此如上所述,在这种情况下您不需要自己调用刷新。

如果你想完全 clear/empty你的领域,你可以调用field.reset().


编辑:在澄清它是关于表单字段之后:

// Note: ``this`` refers to the w2form
// ``field[8]`` refers to a field of type "select"
  this.fields[8].options.items = ["my", "new", "items"];
  this.record = {
    field_select: 'new'
  };
  this.refresh();