Есть ли способ отключить текст для выпадающего меню?

#html #tags #disable #readonly-attribute

#HTML #Теги #отключить #атрибут только для чтения

Вопрос:

Я пытаюсь создать текстовое поле с выпадающим меню, но пользователь может выбирать параметры только из выпадающего меню. Я хочу отключить возможность пользователя вводить текст в текстовое поле, при этом позволяя им выбирать опцию, но я не знаю, как это сделать. Я пробовал disable и readonly , но ни один из них не делает то, что я хочу, хотя возможно, что я неправильно использую эти атрибуты.

Редактировать Я понял две ошибки в своем первоначальном вопросе. Я имел в виду disabled вместо disable , и я также имел в виду ввод текста вместо текстового поля.

Комментарии:

1. чего вы на самом деле пытаетесь достичь? Почему вы хотите вложить выпадающее меню в текстовое поле? Кроме того, пожалуйста, предоставьте любой необходимый код, который вы используете до сих пор.

2. это не так disable , его disabled . Это должно сработать: <input disabled>

3. @Mr. PizzaGuy Я понял свою ошибку, но проблема не в правописании. Мне не нужен эффект, который disabled имеет.

4. @tacoshy Это не обязательно текстовое поле, а скорее поле ввода с прикрепленным списком данных. Я хочу, чтобы ввод пользователей в поле был ограничен параметрами, которые я установил в списке данных.

5. хм … таким образом, пользователи могут вводить только то, что содержит список данных

Ответ №1:

Почему вы хотите иметь текстовое поле, вы можете просто использовать тег выбора

 <label for="cars">Choose a car:</label>

<select name="cars" id="cars" oninput="myFunc(this)">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
  

Это создаст выпадающий список.
Вы можете прикрепить значение к div, чтобы показать его

 function myFunc(selected){       
    //you can replace the divId below by your div's id
    document.getElementById("divId").innerHTML=selected.value;
}
  

Или вы можете использовать тип ввода =»радио»

Комментарии:

1. Спасибо, я изменил значение DivElement на document.getElementById("id") просто потому, что я не знаю, что это делает, но все равно это отлично работало.

2. Вы все сделали правильно. Я только что указал любой элемент DivElement, который вы можете получить любым методом, таким как document.getElementById(«id»), document. querySelector(«#id») или document.getElementsByClassName(«class»)[0]. Существует множество других методов, поэтому я не указал ни на один, который только что написал DivElement