У меня есть трудная проблема, которую я не могу решить сам.
У меня есть динамический блок выбора с опцией, выбранной по умолчанию, например:
<select id="product_configure_variants">
<option value="8830685" selected="selected">nicotine</option>
<option value="8831010">6mg nicotine</option>
<option value="8831011">12mg nicotine</option>
</select>
Я добавил с JQuery новый вариант поверх других, например:
$('#product_configure_variants').prepend('<option value="" disabled="disabled" selected="">Choose</option>');
Теперь html выглядит так:
<select id="product_configure_variants">
<option value="" selected="" disabled="disabled">Choose</option>
<option value="8830685" selected="selected">nicotine</option>
<option value="8831010">6mg nicotine</option>
<option value="8831011">12mg nicotine</option>
</select>
Я хочу заставить людей выбрать один из трех вариантов и сделать первый ("Выбрать") неизбираемым, но показан первым. Я думаю, что мне нужно проверить форму, но я не хочу использовать плагин.
Кто-нибудь знает, как это сделать?
Вы могли бы сделать что-то вроде этого:
var option = $('<option>').text('- Chose one -');
$('#product_configure_variants').prepend(option).val('- Chose one -');
$('#my-form').submit(function(e){
if ($('#product_configure_variants').val() == '- Chose one -') {
e.preventDefault();
alert('Warning! You have to select one!');
$('#product_configure_variants').addClass('req');
}
});
if ($('body.create-new').length) { /* .. code here .. */ }
или вы можете добавить body.create
в начало ваших селекторов.
if(!$('#product_configure_variants').val()){alert('select!!!')}