我的表单中有一个选择选项。用户将选择它一次,并在更改后向服务器发出ajax请求并呈现表单。该呈现的表单还包含与他/她选择的选项相同的字段。所以我不希望他们再次选择该选项。通过禁用它,表单将不会提交其值。那么这将是一个选择。
最佳答案
选项1:到目前为止,您可以通过将索引存储在数组中来跟踪用户选择的选项。因此,在进行ajax调用之前,您可以检查是否已经成功进行了调用。每次成功调用时,您都将其推入阵列。
var queriedItems = [];
function onItemChange(this) {
var index = this.selectedIndex; //value can also be used
if (queriedItems.indexOf(index) === -1) { //not queried so far
/*perform ajax call
onscussess/readystatechanged
queriedItems.push(index)
*/
}
}
选项2:使用CSS和div(而不是html select)构造自定义下拉列表。它将使您能够灵活地添加适当的CSS类,以模仿用户已经选择的特定选项。您可以通过一点点搜索就轻松地找到如何实现自定义下拉菜单。
您可以具有隐藏字段来存储所选值,以便默认情况下会将其提交给服务器。
关于javascript - 用户如何停止选择选择选项而不将其禁用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26402031/