En ese caso y ya que veo que estás tomando al combo respectivo en cada iteración, solo te queda verificar si la cantidad de opciones que posee es mayor a cero; de no ser así, se mostrará la alerta.
Código Javascript
:
Ver originalfunction validacion(){
var checkbox = document.querySelectorAll("[type=checkbox]:checked"),
total = checkbox.length;
for (var i = 0; i < total; i++){
var textBox = document.querySelector("#txt" + checkbox[i].id),
comboBox = document.querySelector("#cmb" + checkbox[i].id);
if (!textBox.value.length || !comboBox.options.length){
alert("Tanto el campo de texto como el combo deben de contener datos");
if (!textBox.value.length) textBox.focus(); //Solo si la caja está vacía
return false;
}
}
return true;
}
Solo era cuestión de acceder al conjunto de opciones del combo mediante la propiedad
options
.