簡體   English   中英

如何在HTML腳本中連接JS變量?

[英]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.jsEmber.js中受益。 他們可以進行數據綁定,這樣您就可以制作可讀和動態的代碼,就像您在問題中嘗試創建的那樣。

如果不是那么^那么這個:

我看到你在評論中提到你正在動態創建列表。 那就是你應該用計數器分配正確的名稱(假設不希望計數器動態改變。如果有動態變化,那么告訴我們正在做什么事情的變化)你能告訴我們正在做的那些代碼請?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM