多步形式 - 由jquery填充的字段的奇怪行为

时间:2012-10-15 06:46:32

标签: javascript jquery

当一个值小于4时,填充input字段的脚本出现问题。当该值小于4时,脚本填充字段但值不是selected,所以当我'我要进入下一步我在这个领域没有任何价值。当值大于4时,一切正常(该值也由jquery填充)。

这是我的代码:

function compute() {
      if( parseInt($("#finish_day").val()) < 4 ) {  
            $('#return_car').children('#return_car option[value=' + $('#get_car').val() + ']').attr('selected', true).siblings().attr('disabled', true);

            if ($('#return_car').val()) $('#return_car').change();
        }
        else {
            $('#get_car > option, #return_car > option').prop('disabled', false);
            $('#three_day').hide(2000, function () {
                $(this).remove();
            });
        }

    }
$('select#get_car').change(compute);
$('input#finish_day').change(compute);

HTML code:

<form>    
<fieldset>    
<div class="type-select">   
    <label for="get_car">Miasto wynajmu: *</label>
    <select id="get_car" name="rent-a-car-next[get_car]" class="select">
        <option value="">---</option>
        <option value="Katowice">Katowice</option>
        <option value="Kraków">Kraków</option>
        <option value="Warszawa">Warszawa</option>
        <option value="Wrocław">Wrocław</option>
        <option value="Gdańsk">Gdańsk</option>
    </select>   
</div>

<div class="type-select">   
    <label for="return_car">Miasto zwrotu: </label>
    <select id="return_car" name="rent-a-car-next[return_car]" class="select">
        <option value="">---</option>
        <option value="Katowice">Katowice</option>
        <option value="Kraków">Kraków</option>
        <option value="Warszawa">Warszawa</option>
        <option value="Wrocław">Wrocław</option>
        <option value="Gdańsk">Gdańsk</option>
    </select>   
</div>

<div class="type-text">
  <label for="finish_day">Ilość dni wynajmu: </label>
  <input type="text" size="20" id="finish_day" name="rent-a-car-next[finish_day]" value="" readonly="readonly" />
</div>

<div class="type-button">
  <input type="submit" name="rent-a-car-next[step-2-next]" class="button submit" value="Kolejny krok" />
</div>

</fieldset>
</form>

问题出在哪里?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

问题解决了:

$('#return_car').children('option[value=' + $('#get_car').val() + ']').prop('disabled', false).attr('selected', true).siblings().prop('disabled', true);

此致