Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用户如何停止选择选择选项而不禁用它_Javascript_Jquery_Html - Fatal编程技术网

Javascript 用户如何停止选择选择选项而不禁用它

Javascript 用户如何停止选择选择选项而不禁用它,javascript,jquery,html,Javascript,Jquery,Html,我在表格中有一个选择选项。它将由用户选择一次,并在更改和呈现表单时向服务器发出ajax请求。该呈现表单还包含与其所选选项相同的字段。所以我不想让他们再次选择这个选项。通过禁用它,表单将不会提交其值。那么,该选项是什么呢。选项1:到目前为止,您可以通过在数组中存储索引来跟踪用户选择的选项。因此,在进行ajax调用之前,您可以检查是否已经进行了成功的调用。每次成功调用时,您都会将其推入阵列中 var queriedItems = []; function onItemChange(this) {

我在表格中有一个选择选项。它将由用户选择一次,并在更改和呈现表单时向服务器发出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类,以模拟用户已经选择的特定选项。通过谷歌搜索,您可以轻松找到如何实现自定义下拉列表。
您可以使用隐藏字段来存储所选值,以便在默认情况下将其提交给服务器。

您可以对ajax创建的
select
使用双事件,如下所示

var val ="";
$('#check').on('click',function(){
    val=$(this).val();
});

$('#check').change(function(){
$(this).val(val);
})

您可以删除它吗?在ajax请求结束时,将每个标记设置为禁用。例如,其结果应为“否”,必须提交。您可以将所选选项的属性设置为“已选”,即任何选项都可以使其为只读。