Мне нужна помощь, я использую код Javascript для обнаружения полей Radios, TextInputs и Text Area и помещаю обнаруженные значения из поля в последовательность в поле ввода.
Я присвоил каждому полю идентификатор с последовательностью , name1, name2, name3, name4, name5, name6, name7, name8, name8, name10 и name11, а идентификатор поля, куда вставляется строка, — sc_tgenerator_form_field_prompt_text.
У меня есть некоторый код, и мне интересно, можно ли его настроить последовательность конечной строки, которая помещается в sc_tgenerator_form_field_prompt_text
Я пробовал этот код, и он работает. он показывает значения радио последовательно, но показывает все текстовые входы и текстовые области в конце строки.
его неправильная последовательность, правильная последовательность - это имя 1, 2, 4, 5, 9 - это радио, а имя 3, 6, 7 8 - это текстовые поля, а 10 и 11 — текстовые области.
Вот код
// Select all radio buttons from the nine forms
const radios = document.querySelectorAll('input[type="radio"]');
// Select the input field where you want to display the generated string
const inputField = document.querySelector('.sc_tgenerator_form_field_inner input[type="text"]');
// Store text input values separately
let textInputValues = {};
// Function to update the input field based on selected radio options
var defaultTextGlobal;
var counter = 0;
function updateInputField() {
if (counter == 0) {
defaultTextGlobal = jQuery('.sc_tgenerator_form_field_prompt_text').val() + ',';
}
let selectedOptions = [];
radios.forEach(radio => {
if (radio.checked) {
selectedOptions.push(radio.value);
}
});
// Include text input values in the selected options
Object.keys(textInputValues).forEach(key => {
if (textInputValues[key].trim() !== '') {
selectedOptions.push(textInputValues[key].trim());
}
});
counter = counter + 1;
inputField.value = defaultTextGlobal + ' ' + generateString(selectedOptions);
}
// Generate the string with the desired format
function generateString(options) {
if (options.length === 0) {
return '';
}
let result = options[0] + ' of ';
if (options.length > 1) {
result += options.slice(1).join(', ');
}
result = result.replace('Do not include of ', '');
result = result.replace('Do not include', '');
result = result.replace('Do not include of,', '');
result = result.replace('Do not include,', '');
return result;
}
// Add event listeners to all radio buttons to listen for changes
radios.forEach(radio => {
radio.addEventListener('change', updateInputField);
});
// jQuery for text inputs and text areas
jQuery(document).ready(function ($) {
// Select text inputs and text areas and add input event listener
$('#form-field-name3, #form-field-name6, #form-field-name7, #form-field-name8, #form-field-name10, #form-field-name11').on('input', function () {
textInputValues[this.id] = $(this).val(); // Store text input values
updateInputField(); // Update the input field
});
});
Подробнее здесь: https://stackoverflow.com/questions/782 ... a-sequence
Как я могу настроить вывод строки в JavaScript и задать последовательность ⇐ Jquery
Программирование на jquery
1712657849
Anonymous
Мне нужна помощь, я использую код Javascript для обнаружения полей Radios, TextInputs и Text Area и помещаю обнаруженные значения из поля в последовательность в поле ввода.
Я присвоил каждому полю идентификатор с последовательностью , name1, name2, name3, name4, name5, name6, name7, name8, name8, name10 и name11, а идентификатор поля, куда вставляется строка, — sc_tgenerator_form_field_prompt_text.
У меня есть некоторый код, и мне интересно, можно ли его настроить последовательность конечной строки, которая помещается в sc_tgenerator_form_field_prompt_text
Я пробовал этот код, и он работает. он показывает значения радио последовательно, но показывает все текстовые входы и текстовые области в конце строки.
его неправильная последовательность, правильная последовательность - это имя 1, 2, 4, 5, 9 - это радио, а имя 3, 6, 7 8 - это текстовые поля, а 10 и 11 — текстовые области.
Вот код
// Select all radio buttons from the nine forms
const radios = document.querySelectorAll('input[type="radio"]');
// Select the input field where you want to display the generated string
const inputField = document.querySelector('.sc_tgenerator_form_field_inner input[type="text"]');
// Store text input values separately
let textInputValues = {};
// Function to update the input field based on selected radio options
var defaultTextGlobal;
var counter = 0;
function updateInputField() {
if (counter == 0) {
defaultTextGlobal = jQuery('.sc_tgenerator_form_field_prompt_text').val() + ',';
}
let selectedOptions = [];
radios.forEach(radio => {
if (radio.checked) {
selectedOptions.push(radio.value);
}
});
// Include text input values in the selected options
Object.keys(textInputValues).forEach(key => {
if (textInputValues[key].trim() !== '') {
selectedOptions.push(textInputValues[key].trim());
}
});
counter = counter + 1;
inputField.value = defaultTextGlobal + ' ' + generateString(selectedOptions);
}
// Generate the string with the desired format
function generateString(options) {
if (options.length === 0) {
return '';
}
let result = options[0] + ' of ';
if (options.length > 1) {
result += options.slice(1).join(', ');
}
result = result.replace('Do not include of ', '');
result = result.replace('Do not include', '');
result = result.replace('Do not include of,', '');
result = result.replace('Do not include,', '');
return result;
}
// Add event listeners to all radio buttons to listen for changes
radios.forEach(radio => {
radio.addEventListener('change', updateInputField);
});
// jQuery for text inputs and text areas
jQuery(document).ready(function ($) {
// Select text inputs and text areas and add input event listener
$('#form-field-name3, #form-field-name6, #form-field-name7, #form-field-name8, #form-field-name10, #form-field-name11').on('input', function () {
textInputValues[this.id] = $(this).val(); // Store text input values
updateInputField(); // Update the input field
});
});
Подробнее здесь: [url]https://stackoverflow.com/questions/78297734/how-i-can-adjust-the-string-output-in-javascript-and-give-a-sequence[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия