Javascript 多步骤表单-字段由jquery填充的奇怪行为
当一个值小于4时,我对填充输入字段的脚本有问题。当值小于4时,脚本填充字段将被选中,但该值未被选中,因此,当我进入下一步时,该字段中没有值。当该值大于4时,一切正常,该值也由jquery填充 这是我的代码:Javascript 多步骤表单-字段由jquery填充的奇怪行为,javascript,jquery,Javascript,Jquery,当一个值小于4时,我对填充输入字段的脚本有问题。当值小于4时,脚本填充字段将被选中,但该值未被选中,因此,当我进入下一步时,该字段中没有值。当该值大于4时,一切正常,该值也由jquery填充 这是我的代码: function compute() { if( parseInt($("#finish_day").val()) < 4 ) { $('#return_car').children('#return_car option[value=' + $
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代码:
<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>
问题在哪里?感谢您的帮助问题已解决:
$('#return_car').children('option[value=' + $('#get_car').val() + ']').prop('disabled', false).attr('selected', true).siblings().prop('disabled', true);
“问候”最好创建一个小提琴来展示您的问题。好的,这是小提琴:尝试从传递给.children的选择器的开始处移除return_car。请注意,并不是所有浏览器都支持禁用select元素中的单个选项。不幸的是,没有更改-仍然是相同的问题也许我不理解这个问题,但它似乎在这里起作用:虽然您的演示没有包括下一步,所以。。。