此代码有问题。
我有div框,当点击Coutries标题时,他会显示国家/地区列表。 该列表包含5个复选框
小提琴 http://jsfiddle.net/ikac/bfaH5/
当我试图检查是否有一些人检查时,我有问题。
searchContainer: function() {
var title = $(".title-search");
// On click show countury list
title.click(function(){
$(".state").fadeToggle('fast',function(){
// check if sothing checked
if ($("#france").is(':checked')) {
alert("France Selected");
// Show all cities from this countury
}
});
});
}
但是,当我检查一个国家时,没有任何事情发生......
我第一次尝试这个:
if($("#france").checked = true)) {
alert("FRANCE");
}
但是当我点击标题并且当fadeToggle完成时,他会显示警告(法国)whitout检查。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="javascript/gfactory.js"></script>
<link rel="stylesheet" type="text/css" href="css/gfactory.css">
<script>
$(document).ready(function() {
window.Balcanrent.init();
window.Balcanrent.searchContainer();
});
</script>
</head>
<body>
<form name="search">
<div class="search-box">
<div class="title-search"> Counturies </div>
<div class="state">
<ul class="s_list">
<li><input id="ger" type="checkbox" value="gr">Germania</li>
<li><input id="usa" type="checkbox" value="usa">USA</li>
<li><input id="sr" type="checkbox" value="sl"> Serbia </li>
<li><input id="france" type="checkbox" value="fr">France </li>
</ul>
</div>
</div>
</form>
</body>
</html>
我尝试使用.length&gt; 0但没有了。我做错了什么?
感谢。
答案 0 :(得分:3)
如果您更喜欢使用CSS选择器方法,则可以执行以下操作:
var c = $('#france').is(":checked");
或者:
var c = $('#france').prop("checked");
.prop()可能是更好的选择。
从这里开始:http://api.jquery.com/prop/ - 是()和prop(),当他们检索不同的东西时,两者都可靠地工作。虽然使用attr()具有不同的含义 - 它只检索默认值
答案 1 :(得分:1)
我在这里为你创造了一个小提琴。
http://jsfiddle.net/kyawsithu/shC3c/1/
下面用于检查Checkbox选中属性的代码是否正确。
if ($("#france").is(':checked')) {
alert("France Selected");
}
编辑:当状态淡入时,再次点击国家时,检查仍然为真,并显示警告。
答案 2 :(得分:1)
希望这可以帮助你..
var title = $(".title-search");
title.click( function(){
var selected = '';
$('.s_list input:checked').each(function() {
selected += $(this).attr('id') + ',';
});
$(".state").fadeToggle('fast');
if(selected.length)
alert('selected: ' + selected);
});