Я создал код для получения attribute value, но у меня тот же класс имени, но значение отличается для всех вариантов.
вот мои варианты html code for
$('#subcategory').click(function() {
var subcat_id = $( this ).find( '.subcategoryList' ).attr('value');
console.info(subcat_id);
});<option name = "subcategory" id = "subcategory">
<option value = "3" class = "subcategoryList">Village </option>
<option value = "4" class = "subcategoryList">Real Estate </option>
</option>Этот html также исходит из кода функции JQuery, как показано ниже:
... $.each(res, function (key, value) {
html += "<option value = "+key+">"+value+" </option>";
});
$('#subcategory').html($(html).addClass('subcategoryList'));
}
...
Да, это J query @ScottMarcus
Вы не можете иметь options, вложенный в другой options.
Вообще-то я тебя не понимаю @ScottMarcus
Интересно, было ли намерение использовать optgroup. html.spec.whatwg.org/multipage/…
На самом деле мне не нужен раскрывающийся список, да, я хочу select, но не без опции раскрывающегося списка. @showdev
у вас неверный html. <option name = "subcategory" id = "subcategory"> должен быть <select name = "subcategory" id = "subcategory"> Это то, о чем говорит @ScottMarcus. А выбор без выпадающих опций вообще не имеет смысла
<option> используется только с выпадающими списками (select). Если это не то, что вы хотите, необходимо использовать другой тег. Что ты хочешь.
Опечатка @ScottMarcus исправлена, спасибо :-)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Во-первых, вы не можете иметь элементы option, вложенные в другие элементы option. Они должны быть вложены в элемент select.
В таком случае вам лучше работать с событием change, а не с событием click.
И, наконец, это простая операция, в которой нужно просто посмотреть на value из select после change. JQuery не нужен.
document.getElementById("subcategory").addEventListener("change", function() {
console.info(this.value);
});<select name = "subcategory" id = "subcategory">
<option value = "3" class = "subcategoryList">Village </option>
<option value = "4" class = "subcategoryList">Real Estate</option>
</select>@user10522002 user10522002 Да, но вы не сказали, чего хотите, делать. Используемый вами код ТОЛЬКО используется для создания раскрывающихся списков. Я даю вам ответ, который использует код, который вы показали. Если вы хотите что-то еще, покажите другой код.
size = "2" удалит часть «раскрывающегося списка».
@Taplar Да, но до сих пор неясно, является ли это тем, к чему стремится ОП. У меня есть ощущение, что ему могут понадобиться радиокнопки.
На самом деле я пытаюсь сделать,... варианты зависят от другого. ВЫВОД: Автомобиль->Все карты->Новый автомобиль @ScottMarcus Olx. имеет категорию. я делаю так же, как это.
@user10522002 user10522002 Это не отвечает на мой очень простой вопрос. Какой элемент пользовательского интерфейса вы хотите (переключатели, список вариантов, флажки и т. д.)?
вот исправленная ссылка для полного кода: stackoverflow.com/questions/54577262/…
Похоже, что этот вопрос добавляет теги <option> к тегу <a>. Это тоже недействительно
@user10522002 user10522002 Не уверен, почему вы просто не ответите на этот вопрос вместо того, чтобы показывать неверный код. Какой элемент пользовательского интерфейса вы хотите иметь?
или если вам нужна версия jquery для этого
$('#subcategory').change(function() {
var subcat_id = $(this).val();
console.info(subcat_id);
});<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name = "subcategory" id = "subcategory">
<option value = "3" class = "subcategoryList">Village </option>
<option value = "4" class = "subcategoryList">Real Estate </option>
</select>Обратите внимание, что класс для каждой опции здесь совершенно бесполезен для вашей цели.
В опубликованном вами коде нет AJAX. Вы имели в виду JQuery?