我一直在尝试使用jQuery设置表单中隐藏字段(hidden field)的值,但一直没有成功。
以下是一个示例代码,用于说明问题。如果我将输入类型保持为“文本”(text),则可以顺利地工作。但是,将输入类型更改为“隐藏”(hidden),就无法正常工作!
<html>
<head>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
$(document).ready(function() {
$("button").click(function() {
$("input:text#texens").val("tinkumaster");
});
});
</script>
</head>
<body>
<p>
Name:
<input type="hidden" id="texens" name="user" value="texens" />
</p>
<button>
Change value for the text field
</button>
</body>
</html>
我还尝试了以下解决方法,将输入类型设置为"text",然后使用"display:none"样式隐藏输入框。但是,这个方法也失败了!
看起来jQuery在设置隐藏或不可见输入字段时有些问题。
你有什么想法吗?是否有真正有效的解决方法可以解决这个问题?
$("#model.thefield[0]")
被解释为:一个id
等于model
,一个 CSS 类名为thefield
和一个名为0
的属性的元素... 如果你想在你的id
中使用这些字符,请使用 Chuck Callebs 在 他的回答 中建议的方法。在 HTML5 中,id
可以是任何非空字符串,不包含任何空格字符(参考)。 - Oliver