2017-05-17 36 views
0

我迷失了這個。首先,我做了PHP中的數組和「保存」這樣的(原因取一列的所有值到一個數組,以供以後使用):getElementById或getElementsByName與數組標記

echo '<input type="hidden" name="hidden[]" id="hidden[]" value="'.$to_update.'">'; 

於是,我做了一些值和字符一個選擇,也用PHP構建。就像這樣:

echo '<option value="'. $id .'">'. $desc .'</option>'; 

取出的值是正確的,$id$desc$to_update有我需要的價值。

然後,在PHP/HTML我有這樣的代碼:

<select name="articulo" id="articulo" onchange="myFunc(this.value)"> 
<input name="updated" id="updated" type="text" /> 

所以,在JS調用的時候是這樣的(相同的HTML,body標籤後):

<script > 
function myFunc(val) { 
    var id = document.getElementById("updated"); 
    var valor = document.getElementsByName("hidden"); 
    id.value = valor[val].value; 
} 
</script> 

所以,例如,如果在選擇是1,2和3的值;一個,兩個和三個選項,我想將名爲updated的輸入文本更改爲另一個值,如a,b和c。

這是一個更好的方式來做到這一點,或者只是爲了修復一些代碼?

+2

'id =「hidden []」'不合法。 'id'必須是唯一的。所以你應該改變它,然後,是的,使用'name'屬性代替 – RiggsFolly

+0

,所以我使用name =「hidden []」?以及我如何從JavaScript訪問值? – Epistomai

+0

它是一個數組,因此像數組一樣使用它 – RiggsFolly

回答

1

我已經通過運氣解決了我的問題。

我用一個推到一個數組在PHP與此:

echo "<script> 
     var pausecontent = new Array(); 
     pausecontent.push('".$to_update."'); 
     </script>"; 

,然後在JavaScript抓取/檢索/訪問陣列是這樣的:

var valor = pausecontent[val - 1]; 
id.value = valor; 

就像一個魅力,而不需要另一個隱藏標籤。