2014-01-07 51 views
0

你好我正在選擇幾個ips中選擇,因爲它使用PHP自動生成所有option id="userip"是相同的。我面臨的問題,當我選擇第二,第三甚至第四它自動採取第一個IP即127.0.0.1即使在選項我選擇ip 127.0.2.2或任何其他。在選項中設置多個ID

我想解決這個問題,所以想知道最好的方法來做到這一點。

<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's,使用'class'(不一定是唯一的),或者兩者的組合。 – ajp15243

+0

問題很明顯,用php生成的選項,所以你應該顯示 – Steve

+0

'id'應該是唯一的,你可以改變PHP腳本嗎? –

回答

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的official documentation

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

或者

var e = $("#userip").val(); 
+1

'$(「#userip」)。val();' – Musa

+0

哇讓我檢查這一個@Dmitriy – Allison

+1

**是的這項工作非常完美,非常感謝,使我的工作變得簡單** – Allison

-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

只是爲了移除額外的按鈕。使用下拉菜單時不需要按鈕 –

相關問題