0

我的表单中的部分 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/

事情是这样的:

第一个问题:当我更改“小时”字段时,它会自动更改“城市”字段,之后我无法更改城市。当我剪切上面的代码时,城市字段工作正常。

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

我将不胜感激任何帮助。

4

2 回答 2

0

我将代码修改为:

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 选项始终处于活动状态,并根据条件更改 City2 中的值。我还有一个问题 - 我不知道如何将“else”部分(当值大于 3 时)更改为在 City2 中显示所有处于活动状态的选项值?

于 2012-07-25T09:38:31.267 回答
0

很难准确理解你想要什么,但你可能想在你的 else 语句中尝试这个:

$('#end option').attr('disabled', false);
于 2012-07-26T03:31:12.563 回答