Я бы предложил добавить некоторые идентификаторы или классы в ваш HTML, чтобы сделать вашу жизнь намного проще.Это облегчит разграничение флажков в вашем HTML, CSS и JS.Кроме того, гораздо проще получить доступ к объекту DOM в Javascript с помощью идентификатора или класса, чем пытаться карабкаться вверх и вниз по дереву DOM повсюду и полностью теряться в процессе.
С учетом сказанного я бы предложилИдентификация флажков и текстовых полей аналогичным образом.Например:
checkbox id="silver1".....input type="text" id="silver1num" value=""
Таким образом
if ($ ("# silver1"). Check & $ ("# silver1num"). Value == "") {
MsgBox.........
$("#silver1num").focus();
}
Вы можете даже перебирать каждый флажок и сокращать еще немного кода.Добавьте класс «silvercoin» к каждому флажку.
$(".silvercoin").each(function(){
if( $(this).checked && $( "#"+$(this).attr(id)+"number") ).value == "" ) {
MsgBox......
$(this).attr(id)+"number").focus();
}
});
Примечание: $ ("#" + $ (this) .attr (id) + "number")) извлекает идентификатор из флажка- «silver1» и добавляет к нему «число», чтобы получить «# silver1number», который является идентификатором соответствующего поля ввода.
Я просто набрал весь этот код из памяти, так что я мог бы напечатать вещьили два, но концепция одна и та же, тем не менее.Прошёл месяц или два с тех пор, как я играл с jQuery.