[英]How to concatenate a JS variable in an HTML script?
我可以这样做吗?
var counter = SomeJSFunctionThatReturnsAvalue();
<tr><td> <input type="file" name="file-upload"+"_counter" id="file-upload" /></tr></td>
我能这样做吗? 我需要在名称后附加一个下划线和一个递增的数字。
此外,一个非主题问题 - 上面的函数返回输入类型的值,例如:
<input type="hidden" name="hidden-input-type" value="2" />
值“2”是否可以用于数学运算? 如果没有,我该如何制作呢?
您可以使用.setAttribute("name", theNameUwantToChangeTo);
更改名称.setAttribute("name", theNameUwantToChangeTo);
:
function changeName(number){
var ele = document.getElementById("file-upload");
ele.setAttribute("name", b.getAttribute("name")+ "_" + number);
}
changeName(number);
要获得该值,只需.value
:
function getV(){
return document.getElementById("file-upload").value;
}
var number = getV();
如果它不返回int,请使用parseInt()
function getV(){
return parseInt(document.getElementById("file-upload").value);
}
var number = getV();
要将函数的返回值附加到输入标记的名称,可以将其分配给输入的name属性。
var counter = SomeJSFunctionThatReturnsAvalue();
var fileUpload = document.getElementById('file-upload');
fileUpload.name = fileUpload.name + "_" + counter;
您可以使用“typeof”获取变量的类型
typeof myValue; // "string"
您可以使用parseInt()函数将其更改为整数。
var intValue = parseInt(myValue, 10);
在这里你去了家伙。
<head>
<script>
function test($count) {
document.getElementById("test1").setAttribute("name","file-upload_" + $count);
}
</script>
</head>
<body>
<p>some content</p>
<input id="test1" type="file" name="file-upload" id="file-upload" value="2"/>
<p>some other content</p>
<script>test(1);</script>
</body>
你的SomeJSFunctionThatReturnsAvalue();
将它传递给test()
函数。
要从第二个问题中获取“2”的值以用于数学函数,只需执行以下操作:
var value = document.getElementById("test1").getAttribute("value");
document.write(parseInt(value, 10) + 3);
返回5。
如果您正在尝试做这样的事情,也许您会从查看Angular.js或Ember.js中受益。 他们可以进行数据绑定,这样您就可以制作可读和动态的代码,就像您在问题中尝试创建的那样。
如果不是那么^那么这个:
我看到你在评论中提到你正在动态创建列表。 那就是你应该用计数器分配正确的名称(假设不希望计数器动态改变。如果有动态变化,那么告诉我们正在做什么事情的变化)你能告诉我们正在做的那些代码请?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.