Передача и изменение функции Keyup and Change и удаление текста

78
9

Позвольте мне предисловие к этому: я очень новичок в кодировании сторон, я исхожу из фона дизайна... но здесь мы идем...

Я использую keyup и меняю jquery для передачи значений на отображаемое изображение, которое будет напечатано (значения также вставляются в БД).

Моя проблема заключается в том, что параметры для моего ввода включают как размер, так и описание, но все, что я хочу передать с помощью keyup/change, - это размер.

    Cake Type: <select name="Cake" id="cake">
<option value="5 3/8" Cake Pie" >5 3/8" - Cake Pie</option>
<option value="5 7/8" Pretzal Pie" >5 7/8" - Pretzal Pie</option>
<option value="5 1/2" Wing Ding" >5 1/2" - Wing Ding</option>
<option value="5 1/2" Objectonator" >5 1/2" - Objectonator</option>
</select>

В настоящее время я использую этот ключ и меняю jquery для передачи значения:

$("#cake").change(function () {
var value = $(this).val();
$("#cake_transfer").text(value);
}).keyup();
$("#cake").keyup(function () {
var value = $(this).val();
$("#cake_transfer").text(value);
}).keyup();

Так можно ли удалить описание и просто передать размер (т.е. 5 1/2 ")?

Спасибо за любую помощь

спросил(а) 2021-01-19T14:03:27+03:00 6 месяцев, 1 неделя назад
1
Решение
63

Попробуйте что-то вроде этого:

$("#cake").on('change keyup', function () {
var value = $(this).val().split(' '); // split into words
var size = value[0] + " " + value[1]; // first 2 words
$("#cake_transfer").text(size);
});​

Im, использующий .on() чтобы вы могли объединить 2 события (keyup и change) и разделить значение на слова - просто получить 2 слова - проблема в том, что его довольно фиксированный... если бы вы могли разделить размер и описание с помощью - или % было бы намного проще

Рабочий пример здесь

ответил(а) 2021-01-19T14:03:27+03:00 6 месяцев, 1 неделя назад
64

$("#cake").on('change keyup', function() {
var value = $('option:selected', this).text();
$("#cake_transfer").text(value.split('-')[0]);
}).keyup();

DEMO

ответил(а) 2021-01-19T14:03:27+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема