2011-06-18 28 views
0

我有这样一个隐藏的输入:为什么我无法替换隐藏输入的值?

<input type="hidden" id="selectedItem" value="1,1,1," name="selectedItem"/> 

,我想取代它的一些值:

value="9,9,9" 

我试图用

document.getElementById('selectedItem').value = document.getElementById('selectedItem').value.replace(/1/gi,'9') 

document.getElementById('selectedItem').value = document.getElementById('selectedItem').value.replace('1','9') 

但它没有工作。请有人告诉我为什么,并给我一些解决方案。 谢谢

+0

javascript控制台告诉你什么? – Oded

+1

你的第一个例子应该可以正常工作。看到它在这里工作:http://jsfiddle.net/interdream/v54rA/ –

+1

如何和你在哪里调用JavaScript方法? – Syeda

回答

0

为什么不使用jQuery?像下面这样:

$('input#selectedItem').value('9,9,9'); 
0
$("#selectedItem").val("9,9,9"); 
//or 
$("#selectedItem").val($("#selectedItem").val().replace(/1/gi,'9')); 
+0

这将取代整个值。 OP只想替换某些字符。 –

+0

@James Allardice,这个问题问道:“为什么我无法取代隐藏输入的'价值'?” – Babiker

+0

在这些示例中,很明显,其目的是替换隐藏输入值中的某些字符。 –

0

它工作得很好,对我来说:http://jsfiddle.net/QRHTL/

这将是一个有点清洁使用jQuery虽然:

$('#selectedItem').val($('#selectedItem').val().replace(/1/gi,'9')); 
0

你对另一个元素你的页面id="selectedItem"?如果是这样,document.getElementById("selectedItem")可能会返回,而不是您期待的隐藏表单输入。