В настоящее время я работаю над некоторыми вещами, которые требуют проверить, имеет ли какой-либо другой выбор те же значения, что и тот, который я сейчас использую.
Когда пользователь нажимает кнопку «Период Tilføj», он должен проверить, существует ли выбор. Если он не существует, он может продолжить вызов функции. Также при нажатии этой кнопки она устанавливает 2 переменные.
var period_interval = jQuery('.vehicle--single-variations-add-interval option:selected').val();
var period_recurrence = jQuery('.vehicle--single-variations-add-recurrence option:selected').val();
Я использую их, чтобы увидеть, существует ли он
(Почему моя страница черная? Аддон для браузера - для моих глаз)
Таким образом, проблема заключается в том, что 2 выбора внизу (Добавить новую строку) имеют 2 значения, заданные пользователем. Пользователь НЕ сможет создать новый вариант (строку), если интервал и день / месяц / год и т. Д. c. уже существует.
Итак, скажем, id хотел бы создать новый. Смотрите скриншот в качестве примера. Я хотел бы вариации на каждый 5-й день. Когда я нажимаю «Период Tilføj», он должен просмотреть все строки и проверить для каждого выбора, существует ли значение из интервала в этой строке, и день / месяц / год ТАКЖЕ существует в той же строке. Как бы я это сделал?
Вот что я пробовал до сих пор:
var period_interval = jQuery('.vehicle--single-variations-add-interval option:selected').val();
var period_recurrence = jQuery('.vehicle--single-variations-add-recurrence option:selected').val();
var bExists = false;
if(jQuery('.vehicle--single-variations-recurrence option[value="'+period_recurrence+'"]:selected') && jQuery('.vehicle--single-variations-interval option[value="'+period_interval+'"]:selected'))
{
console.dir('exists');
}
else
{
console.dir('noexist');
}
// Check if current variations are conflicting with the one we are trying to create
jQuery('.vehicle--single-variations-interval option:selected').each(function() {
if(period_interval == jQuery(this).val())
{
console.dir('interval exists');
// It is conflicting - do not create
bExists = true;
}
jQuery('.vehicle--single-variations-recurrence option:selected').each(function() {
if(period_recurrence == jQuery(this).val())
{
console.dir('period exists');
// It is conflicting - do not create
bExists = true;
}
});
});
^ Этот работал почти
Вот весь мой код:
jQuery('.vehicle--single-variations-add').on('click', function()
{
// Reset data
var price = 0;
var period_interval = jQuery('.vehicle--single-variations-add-interval option:selected').val();
var period_recurrence = jQuery('.vehicle--single-variations-add-recurrence option:selected').val();
var bExists = false;
if(jQuery('.vehicle--single-variations-recurrence option[value="'+period_recurrence+'"]:selected') && jQuery('.vehicle--single-variations-interval option[value="'+period_interval+'"]:selected'))
{
console.dir('exists');
}
else
{
console.dir('noexist');
}
// // Check if current variations are conflicting with the one we are trying to create
// jQuery('.vehicle--single-variations-interval option:selected').each(function() {
// if(period_interval == jQuery(this).val())
// {
// console.dir('interval exists');
// // It is conflicting - do not create
// bExists = true;
// }
// });
// jQuery('.vehicle--single-variations-recurrence option:selected').each(function() {
// if(period_recurrence == jQuery(this).val())
// {
// console.dir('period exists');
// // It is conflicting - do not create
// bExists = true;
// }
// });
// jQuery('.vehicle--single-variations-recurrence option[value="'.period_interval.'"]:selected')
return exists;
Я думаю, это должно быть довольно просто, но я просто вижу решение: /
Изменить - Забыл добавить, выберите html
<tr>
<td style="font-variant-numeric: tabular-nums;"><?php echo '#'.$oID; ?></td>
<td class="cell-price">
<input type="number" value="<?php echo get_post_meta($oID)['_regular_price'][0]; ?>" class="input-small" placeholder="<?php _e('Amount', 'layback'); ?>">
</td>
<td class="cell-period">
<div class="group">
<select name="" id="" class="input-small vehicle--single-variations-interval">
<option value="1" <?php if(get_post_meta($oID)['_subscription_period_interval'][0] == 1) echo 'selected'; ?>>Every</option>
<option value="2" <?php if(get_post_meta($oID)['_subscription_period_interval'][0] == 2) echo 'selected'; ?>>Every 2nd</option>
<option value="3" <?php if(get_post_meta($oID)['_subscription_period_interval'][0] == 3) echo 'selected'; ?>>Every 3rd</option>
<option value="4" <?php if(get_post_meta($oID)['_subscription_period_interval'][0] == 4) echo 'selected'; ?>>Every 4th</option>
<option value="5" <?php if(get_post_meta($oID)['_subscription_period_interval'][0] == 5) echo 'selected'; ?>>Every 5th</option>
<option value="6" <?php if(get_post_meta($oID)['_subscription_period_interval'][0] == 6) echo 'selected'; ?>>Every 6th</option>
</select>
<select name="" id="" class="input-small vehicle--single-variations-recurrence">
<option value="day" <?php if(get_post_meta($oID)['_subscription_period'][0] == 'day') echo 'selected'; ?>>Day</option>
<option value="week" <?php if(get_post_meta($oID)['_subscription_period'][0] == 'week') echo 'selected'; ?>>Week</option>
<option value="month" <?php if(get_post_meta($oID)['_subscription_period'][0] == 'month') echo 'selected'; ?>>Month</option>
<option value="year" <?php if(get_post_meta($oID)['_subscription_period'][0] == 'year') echo 'selected'; ?>>Year</option>
</select>
</div>
</td>
<td class="cell-actions">
<button attr-variationid="<?php echo $oID; ?>" class="btn small btn-danger vehicle--single-variations-remove"><?php _e('Delete', 'layback'); ?></button>
</td>
</tr>