Jquery 选择后禁用一个选项

Jquery 选择后禁用一个选项,jquery,html,Jquery,Html,我曾尝试将这两个代码思想结合在一起,但都不起作用 我想在选择后禁用第一个选项 );选择后,第一个选项将被禁用 我希望在拾取后续元素时禁用第一个选项。[更新的答案] 我相信这回答了你的问题: 在displayVals内部,我执行了以下操作: if ($("#menucompare").prop("selectedIndex") !== "0") { // Within the select (you could be more specific) find // the first

我曾尝试将这两个代码思想结合在一起,但都不起作用

我想在选择后禁用第一个选项

);选择后,第一个选项将被禁用

我希望在拾取后续元素时禁用第一个选项。

[更新的答案]


我相信这回答了你的问题:

在displayVals内部,我执行了以下操作:

if ($("#menucompare").prop("selectedIndex") !== "0") {
    // Within the select (you could be more specific) find
    // the first (direct descendant) option value and 
    // disable it to make it unselectable
    $("select > option:first").prop("disabled", "disabled")
}
此段查找选择菜单的选定索引是什么,如果用户选择的不是初始索引0,则会将第一个选项设置为禁用

更新:

根据和@silkster的建议禁用时,将attr更改为prop。谢谢

此外,如果您不想在开始时选择该选项,您甚至可以在不使用if语句的情况下进行选择

在加载第一个未禁用的DOM后,会发生禁用,因此select仍然可以选择“请选择”。哇…那可真是太多了

如果您想保留If语句,这意味着在实际选择另一个之前“选择一个”是可选的,则If语句需要如下所示:

if ($("#menucompare").prop("selectedIndex") !== 0) // with no quotes around zero

你的描述很难理解,有没有可能重申一下你想要的效果?你没有元素来附加东西,提交功能在JSFIDLE中也不会很好地运行。这是你的问题的一个可能的澄清版本。你想在这里发生什么?我需要其他地方,你的代码没有禁用选择一个你想要选择一个作为选项从选择中删除吗?没有删除,但禁用,如示例中所示。这是我给出的代码示例,我想使第一个选项选择一个禁用,如示例中所示,在我的代码中使用否,我编辑了代码,所以只有选择列表被禁用。this.disabled=true;我的答案更新了。不要在JSFIDLE上提交表单。看起来您正在尝试将PHP融入其中。据我所知,这在那里不起作用。你已经禁用了所选的选项,这不是我想要的,我想在选择其他选项时删除第一个选项,不管怎样,它通过上面的WeeTrain解决,thx for Help+1u已经删除了这个“//$aform.submit;”?对如果你取消注释,你就会明白原因。无论您在何处实现表单以实际执行某些操作,您的站点都可能会很好,但是在jsfiddle中提交会失败。您应该使用.prop而不是.attr来设置“disabled”,并且,如果您做得更好,koz第一个选项会出现但不可选择,非常好,这实际上是一个意外。在准备就绪时调用displayVals时,selectedIndex为0而不是0。因此,在加载文档后立即禁用。你也会有同样的行为。想象一下:-
function displayVals() {
    var singleValues = $("select option:selected").text();
    ....
    $("select > option:first").prop("disabled", "disabled")
}
if ($("#menucompare").prop("selectedIndex") !== 0) // with no quotes around zero