jQuery条件选择问题

jQuery conditional select problems

本文关键字:问题 选择 条件 jQuery      更新时间:2024-02-19

我的表单中的部分jQuery代码有一些问题。除了一部分代码:之外,一切都很好

if ( $("#finish_day").val() > 4 ) {
    $('#start').attr('', '');
} else {
    $('#start, #end').not(this)
        .children('option[value=' + this.value + ']')
        .attr('selected', '')
        .siblings().attr('disabled', true);
}

您可以在此处测试整个示例:http://jsfiddle.net/amarcinkowski/k7kKV/3/

事情是这样的:

第一个问题:当我更改"小时"字段时,它会自动更改"城市"字段,然后我就不能更改城市了。当我剪切上面的代码时,City字段工作正常。

第二个问题:我需要让所有"城市1"选项始终处于活动状态(现在当我更改"小时"时,我有一个活动选项,另一个禁用)。上面的代码应该是这样工作的:当"总天数"字段的值小于(例如)3时,"城市2"字段中的值与"城市1"字段中相同(城市1:Katowice=城市2:Katowice),并且城市2字段中的其他选项被禁用。

如果有任何帮助,我将不胜感激。

很难准确理解你想要什么,但你可能想在其他语句中尝试一下:

$('#end option').attr('disabled', false);

我将代码修改为:

if ( $("#finish_day").val() < 4 ) {
          $('#start, #end').not(this)
              .children('option[value=' + this.value + ']')
              .attr('selected', true)
              .siblings().attr('disabled', true);
} else {
    $('#end').attr('disabled', false);
}

它显示City1选项始终处于活动状态,并随contion更改City2中的值。我还有一个问题-我不知道如何将"else"部分(当值大于3时)更改为在City2中显示所有处于活动状态的选项值?