2015-04-01 127 views
-4

我有三個文本框在表中具有相同的ID。我在桌子上還有一個下拉菜單。在更改下拉列表時,我需要將文本框的值設置爲與下拉值相同。更改文本框值

我用下面的代碼,我能夠改變只有第一個文本框,其他人沒有獲得價值。

function myHome() { 
    var zoneId = $("#funderIds").val(); 
    $("#funder").val($("#funderIds").val()); 
} 
<select id="funderIds" name="funderIds" onchange="myHome()" style="width: 25%;"> 
    <option value="0">--Select--</option>       
    <option value="3">option1</option>       
    <option value="5">option2</option>       
    <option value="6">option3</option>       
</select> 

<input type="text" name="funder" id="funder" value=""> 
<input type="text" name="funder" id="funder" value=""> 
<input type="text" name="funder" id="funder" value=""> 

誰能給在哪裏,我犯了一個錯誤一些建議?

+1

你只能使用和'id'只有一次 – roullie 2015-04-01 06:51:46

+0

Id應該是唯一的。你可以用class代替。 – Birlla 2015-04-01 06:57:34

回答

1

是無效的使用相同的ID超過一個元素,它應該是整個文件中唯一的,因而使用類,而不是!

ID是唯一

  1. 每個元素只能有一個ID
  2. 每個頁面都可以使用該ID只有一個元素

類不是唯一

  1. 你可以在多個元素上使用相同的類。
  2. 您可以在同一元素上使用多個類。

你的代碼更改爲:

function myHome() { 
    var zoneId = $("#funderIds").val(); 
    $(".funder").val($("#funderIds").val()); 
} 

<select id="funderIds" name="funderIds" onchange="myHome()" style="width:25%;"> 
    <option value="0">--Select--</option>       
    <option value="3">option1</option>       
    <option value="5">option2</option>       
    <option value="6">option3</option>       
</select> 


<input type="text" name="funder-1" id="funder-1" class="funder" value=""> 
<input type="text" name="funder-2" id="funder-2" class="funder" value=""> 
<input type="text" name="funder-3" id="funder-3" class="funder" value=""> 
+0

我可以將zoneId值設置爲「option1」或「option2」或「option3」嗎?現在我得到這個值爲3,5,6。 – DevGo 2015-04-01 07:00:27

+0

@ Mary.Hansen,要獲得選項的文本,請使用$('#「#funderIds」選項:選中')。 – demonofthemist 2015-04-01 07:03:56

0

ID是唯一的標識符,他們應該永遠是唯一的。如果您有多個具有相同ID的元素,則ID選擇器(在您的情況下爲$(".funder"))將僅返回第一個元素的對象。

您可以使用相同的類並使用類選擇器來定位所有元素。

HTML:

<input type="text" name="funder" class="funder" value=""> 
<input type="text" name="funder" class="funder" value=""> 
<input type="text" name="funder" class="funder" value=""> 

JS:

function myHome() { 
    var zoneId = $("#funderIds").val(); 
    $(".funder").val(zoneId); 
} 
1

標識必須是唯一的,嘗試name不是用最小的變化:

function myHome() { 
    var zoneId = $("#funderIds").val(); 
    $("input[name=funder]").val(zoneId); 
} 

編輯:

要獲取選項的文本,使用:selected

function myHome() { 
    var zoneId = $("#funderIds option:selected").text(); 
    $("input[name=funder]").val(zoneId); 
} 
0
function myHome() { 
var zoneId = $("#funderIds").val(); 
$(".funder").val(zoneId); 

}

<select id="funderIds" name="funderIds" onchange="myHome()"    style="width:25%;"> 
<option value="0">--Select--</option>       
<option value="3">option1</option>       
<option value="5">option2</option>       
<option value="6">option3</option>