Я вижу аргумент в пользу таблиц для форм, но существует более хорошая альтернатива..., просто необходимо закатать рукава и изучить CSS.
, например:
Вы можете взять тот HTML и расположение форма или бок о бок маркируете или маркируете сверху текстовых полей (который легче). Наличие гибкости действительно помогает. Это - также меньше HTML, чем таблица, эквивалентная из также.
Для некоторых превосходных примеров форм CSS, проверьте эти превосходные примеры:
http://jeffhowden.com/code/css/forms/
http://www.sitepoint.com/article/fancy-form-design-css/
http://www.smashingmagazine.com/2006/11/11/css-based-forms-modern-solutions/
Этот пример демонстрирует, что это работает:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#btn").click(function() {
alert($(":input[value='1']").length);
});
});
</script>
</head>
<body>
<input type="text">
<input type="text">
<input type="text">
<input type="button" id="btn" value="How many?">
</body>
</html>
В качестве альтернативы вы можете просто зациклить:
var matches = 0;
$(":input.class").each(function(i, val) {
if ($(this).val() == '1') {
matches++;
}
});
Вам нужно выполнить итерацию с помощью $ .each (), если вам нужны текущие значения val ():
k=0;
$('.class').each(function(i, e) {
if ($(e).val() == "1") k++;
});
$(':input.class').filter(function() {
return $(this).val() == '1'
})