Не работает этот кусок: Код (Javascript): <script> $('[name~="button3000"]').click(function() { $('.selecter2').each(function(i,elem) { if (elem.text().length>0){ $.ajax({ url: 'profile/block.php', method: 'POST', data: {vopros: elem.text()} alert(elem.text()); }); break; } }); }); </script> есть: HTML: <select name="kenty1" class="selecter2"> HTML: <input class="knopka" type="button" title="Заблокировать подписчика" name="button3000" formaction="index.php?profile&id=<?=$_SESSION['obraz_n'].'#top'; ?>" value="БЛОКИРОВАТЬ ПОДПИСЧИКА" form="general_form" >
Это заметно даже невооруженным глазом. В консоль заглядывайте изредка, очень способствует. Методы jQuery применимы к объектам jQuery, а elem таковым не является. Код (Javascript): $(elem).text() Дальше уже у меня возникают пара вопросов: 1. Чего вы ожидаете от метода text(), применяя его к select-у? Что-то мне подсказывает, что результат будет не такой, как вы хотите. Скорее всего, вам нужен метод val(). 2. Зачем вам цикл, если вы его пытаетесь прервать после первой же итерации, к тому же совсем неуместным способом? 3. Селектор [name~="button3000"] говорит следующее - найти элементы с атрибутом name, у которого среди значений перечисленных через пробел, может быть и значение button3000. Я не говорю, что это невозможно, но я пока не встречал на практике атрибуты name со списком значений. У вас именно так? И уберите alert из объекта. --- Добавлено --- Код (Javascript): const select = $('.selecter2'); $('[name="button3000"]').on('click', function() { let val = select.val(); if (val) { $.ajax({ url: 'profile/block.php', method: 'POST', data: { vopros: val } }); } });
Спасибо, открыл глаза на много минусов. Я только третий день пишу на jQuery. Это удивительный язык. А где находится эта консоль? --- Добавлено --- У меня 4: HTML: <select name="kenty1" class="selecter2"> С одним классом, разные имена. Кнопка одна. Есть ещё поле: HTML: <input type=text class="pole" name="ii" id="ii" checked placeholder="Номер кента"> Логика такая: если в инпут лежит значение или в одном из 4 селект есть выбранное значение, то после нажатия на кнопку должен сработать ajax с этой строчкой. Напиши пожалуйста, как ты видишь.
Исправь ошибки просто здесь. Твой код у меня не срабатывает. Код (Javascript): <script> $('[name~="button3000"]').click(function() { if ($("select.selecter2 option:selected").text().length>0) { $.ajax({ url: 'profile/block.php', method: 'POST', data: {vopros: $("select.selecter2 option:selected").text()} alert($("select.selecter2 option:selected").text()); }); } else if ($('[name~="ii"]').val().length>0){ $.ajax({ url: 'profile/block.php', method: 'POST', data: {vopros: $('[name~="ii"]').val()} }); } }); </script>