[英]Assign value for multiple input boxes using javascript?
嗨我在為多個輸入框分配單個值時遇到問題。 我嘗試了很多方法但它只分配了一個文本框。 如何指定多個文本框。
注意:我對所有輸入框都有相同的ID。
我的代碼如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
function getInputs()
{
var inputs = document.getElementsByTagName('input');
var ids = new Array();
for(var i = 0; i < inputs.length; i++)
{
if(inputs[i].getAttribute('id').toLowerCase()== 'myid')
{
document.getElementsById('myid').value="1";
}
}
}
window.onload = getInputs;
</script>
</head>
<body>
<form>
<input type="text" id="myid"><br>
<input type="text" id="myid"><br>
<input type="text" id="myid"><br>
<input type="text" id="myid"><br>
</form>
</body>
</html>
有人可以幫忙嗎?
它只為一個值賦值,因為ID應該是唯一的; 因此,您實際上最終只會使用該值分配來定位第一個。
更改HTML以使用類:
<input type="text" class="myids"><br>
<input type="text" class="myids"><br>
<input type="text" class="myids"><br>
<input type="text" class="myids"><br>
然后,您可以相應地調整您的JavaScript。
jQuery的
在jQuery中,您可以使用以下方法設置值:
$('.myids').val('value for all of them here');
純JavaScript
在Javascript中,您將使用getElementsByClassName()
並遍歷它們,為它們提供相同的值。
var x = document.getElementsByClassName('myids');
for(i = 0; i < x.length; i++) {
x[i].value = "New!";
}
id
屬性應該是唯一的,因此多次具有相同的id
是無效的html,並且大多數瀏覽器將簡單地忽略任何具有id
s的輸入,這些輸入已經存在於dom樹中。
旁注:要設置幾個id的值(通過jquery),使用val()
函數和一個選擇所有相應輸入的選擇器(它看起來更簡潔,只需堅持純粹的javascript ):
$('#myid1, #myid2, .myclass1').val('new value');
首先,id應該是唯一的。 因此,請添加class
或name
屬性。 但你的主要問題是:
document.getElementsById('myid').value="1";
它應該是
inputs[i].value="1";
你已經有了元素,沒有必要再找到它。
將輸入框放在帶有ID或Class的div容器中。 然后使用以下代碼。
$('#divID').find('input:text').val('your value');
要么
$('.divClass').find('input:text').val('your value');
第一個用於如果您使用ID作為div,第二個用於作為選擇器的類。 此代碼將在該特定div容器中找到所有輸入文本框,並為其分配值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.