Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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,Im动态地为用户创建新的下拉列表,以便在数据库中输入内容。我需要在用户创建的所有下拉列表中禁用用户以前的选择(例如,如果在第一个dpl中选择了第一个选项,那么他将无法在其他dpl中选择它。) 代码是------>! 这段代码在我的pc上运行良好,我不知道为什么它在JSFIDLE中不起作用,但您会了解这段代码的作用!我还注意到,它只在第一个选择框改变状态时运行js,而在其他选择框改变状态时不运行js 我试过了,但是运气不好。。。有什么建议吗?(另外还有一件我在小提琴上试过的东西,在这里贴的时间太长

Im动态地为用户创建新的下拉列表,以便在数据库中输入内容。我需要在用户创建的所有下拉列表中禁用用户以前的选择(例如,如果在第一个dpl中选择了第一个选项,那么他将无法在其他dpl中选择它。) 代码是------>! 这段代码在我的pc上运行良好,我不知道为什么它在JSFIDLE中不起作用,但您会了解这段代码的作用!我还注意到,它只在第一个选择框改变状态时运行js,而在其他选择框改变状态时不运行js

我试过了,但是运气不好。。。有什么建议吗?(另外还有一件我在小提琴上试过的东西,在这里贴的时间太长了)

编辑:

在本例中,下拉列表中的值来自数据库 我把它改了,这样会更容易


此.value
可能会给您带来问题
这将更改
.each()
循环中的上下文。我建议在每个循环之前创建一个变量,
var thisVal=this.value
,然后在
each
中使用
thisVal
。祝你好运,不行!是的,您可能有更多的问题,但我几乎可以肯定这是问题之一。也许是我创建额外选择框的方式?第一步是修复您的小提琴(缺少大括号和未定义的变量),以便我们可以尝试并提供帮助。
$('select').on('change', function() {

    /* enable any previously disabled options */
    $('option[disabled]').prop('disabled', false);

    /* loop over each select */
    $('select').each(function() {

       /* for every other select, disable option which matches this this.value */
       $('select').not(this).find('option[value="' + this.value + '"]').prop('disabled', true); 

    });

});