Установка нескольких идентификаторов в опции

0

Привет, я делаю выбор, чтобы выбрать среди нескольких ips, и поскольку его авто сгенерировано с php, вся option id="userip" такая же. Я сталкиваюсь с проблемой, когда я выбираю 2-й, 3-й или даже 4-й, это автоматический первый ip, который равен 127.0.0.1 даже если в опции я выбираю ip 127.0.2.2 или любой другой.

Я хотел решить это, поэтому хотел бы знать лучший способ сделать это.

<div class="row"> Choose ip:
    <select name="search"> 
         <option id="userip">127.0.0.1</option>
         <option id="userip">127.0.2.2</option>
         <option id="userip">127.3.3.3</option>
         <option id="userip">127.0.4.4</option>
    </select>
    <input class="adm" type="button" onclick="getuser()" value="Get Result">
</div>

Вот мой js

function getuser() {
    var e = $("#userip").val();
    $("#showuser").html("")
    $.ajax({
        url: "adm.php",
        type: "post",
        data: "action=getuser&search="+e+"",
        dataType: "json",
        success: function (e) {
           // do something
        },
        error: function () {}
    })
}
  • 4
    Вы не можете использовать один и тот же id для нескольких элементов на одной странице. Атрибут id должен оставаться уникальным. Вы должны дать им разные id , использовать вместо них class (который не должен быть уникальным) или их комбинацию.
  • 0
    Проблема явно в php, который генерирует опции, поэтому вы должны показать, что
Показать ещё 3 комментария
Теги:

2 ответа

2
Лучший ответ

ID должен быть уникальным на странице:

<div class="row"> Choose ip:
    <select name="search" id="userip"> 
         <option>127.0.0.1</option>
         <option>127.0.2.2</option>
         <option>127.3.3.3</option>
         <option>127.0.4.4</option>
    </select>
    <input class="adm" type="button" onclick="getuser()" value="Get Result">
</div>

И для выбора значения опции используйте дочерний селектор. См. Официальную документацию по jquery

var e = $("#userip option:selected").text();

Или

var e = $("#userip").val();
  • 1
    $("#userip").val();
  • 0
    вау, дайте мне проверить это @Dmitriy
Показать ещё 4 комментария
-1

просто введите значение поля поиска. вы также можете использовать обратный вызов onchange.

HTML-код

<div class="row"> Choose ip:
<select name="search" id="search" onchange="getuser()"> 
    <option id="userip">127.0.0.1</option>
     <option id="userip">127.0.2.2</option>
     <option id="userip">127.3.3.3</option>
     <option id="userip">127.0.4.4</option>
</select>
</div>

JS-код

function getuser() {
var e = $("#search").val();
$("#showuser").html("")
$.ajax({
    url: "adm.php",
    type: "post",
    data: "action=getuser&search="+e+"",
    dataType: "json",
    success: function (e) {
       // do something
    },
    error: function () {}
})

}

  • 0
    При использовании onclick или onchange это не имеет значения, потому что «id» является уникальным элементом
  • 0
    просто ради удаления лишней кнопки. при использовании выпадающего меню кнопка не требуется

Ещё вопросы

Сообщество Overcoder
Наверх
Меню