Lar*_*rry 3 jquery attributes undefined radio-button
我有以下内容并按此顺序:
<script type="text/javascript">
$(document).ready(function(){
var overwrite = $('#itemList input:radio:checked').val()
alert('value = '+ overwrite);
});
</script>
<body>
<form ..... >
<div id="itemList">
Overwrite?
<input type="radio" value="Yes" class="overWrite" name="overWrite" >Yes
<input type="radio" value="No" class="overWrite" name="overWrite" >No
</div>
</form>
</body>
Run Code Online (Sandbox Code Playgroud)
当它运行时,警报将具有'value = undefined'
但是,如果我将javascript放在div(或正文)之后,警报会返回'value = Yes'
为什么jquery在页面开头不能识别类型广播?如果我创建一个type ='hidden',jquery可以在页面开头读取/识别该值.当type ='radio'时,行为是不同的
小智 7
我和'undefined'有类似的问题.
当我测试这个
var isChecked = $('#itemList').attr('checked');
Run Code Online (Sandbox Code Playgroud)
isChecked是'undefined'
并为此
var isChecked = $('#itemList').prop('checked');
Run Code Online (Sandbox Code Playgroud)
isChecked是真还是假
您遇到的问题似乎是页面加载时根本没有检查单选按钮,因此您的 jquery 返回一个 null 对象。
默认情况下,这将检查“否”并返回正确的值。所以你的javascript在技术上是正确的,你只需要检查空值
<head>
<title>jQuery Tester</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<div id="itemList">
Overwrite?
<input type="radio" value="Yes" class="overWrite" name="overWrite" />Yes
<input type="radio" value="No" class="overWrite" name="overWrite" checked="checked" />No
</div>
<script type="text/javascript">
$(document).ready(function(){
var overwrite = $('#itemList input:radio:checked').val();
alert('value = ' + overwrite);
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14894 次 |
| 最近记录: |