#javascript
#javascript
Вопрос:
Когда я возвращаю динамическую форму, я намерен скрыть входные данные, когда она возвращает пустое или нулевое значение.
Например, как вы можете изменить строки:
Id = 1 NumCap = 1 Capitulo = teste
Id = 2 NumCap = Capitulo =
Id = 3 NumCap = 2 Capitulo = teste1
При возврате формы, при возврате строки с Id = 2, скройте два входных данных, потому что они приходят пустыми.
Я возвращаю форму следующим образом:
success:function(data1){
var linha1 = ``;
for (var i = 0; i < data1.length; i ) {
Id = data1[i][0];
NumCap = data1[i][14];
Capitulo = data1[i][15];
linha1 = `<div class="teste1">
<div class="form-group col-md-2 testeeeee">
<input type="text" class="form-control1 alinha" name="Capitul[]" value="${NumCap}">
<span class="form-highlight"></span>
<span class="form-bar"></span>
<label class="label3" for="Capitulo">Nº Capitulo</label>
</div>
<div class="form-group col-md-4 testeeeee">
<input type="text" class="form-control1" name="Capitul1[]" value="${Capitulo}">
<span class="form-highlight"></span>
<span class="form-bar"></span>
<label class="label1" for="Capitulo">Capitulo</label>
</div>
</div>
}
Я пытаюсь поместить этот код перед запуском возврата формы:
if(!NumCap amp;amp; !Capitulo){
$('.testeeeee').show();
}else{
$('.testeeeee').hide();
}
Но это не работает.
Ответ №1:
success:function(data1){
var linha1 = ``;
Object.keys(data1).forEach(i=>{
Id = data1[i][0];
NumCap = data1[i][14];
Capitulo = data1[i][15];
if(!Id.length||!NumCap.length||!Capitulo.length){return;} //if any length of these values are 0, don't put them into linha1
linha1 = `<div class="teste1">
<div class="form-group col-md-2 testeeeee">
<input type="text" class="form-control1 alinha" name="Capitul[]" value="${NumCap}">
<span class="form-highlight"></span>
<span class="form-bar"></span>
<label class="label3" for="Capitulo">Nº Capitulo</label>
</div>
<div class="form-group col-md-4 testeeeee">
<input type="text" class="form-control1" name="Capitul1[]" value="${Capitulo}">
<span class="form-highlight"></span>
<span class="form-bar"></span>
<label class="label1" for="Capitulo">Capitulo</label>
</div>
</div>`
})
}
Комментарии:
1. Это более или менее то, что я хочу, проблема в том, что после входных данных, которые я ввел в вопрос, у меня есть больше входных данных, и таким образом, если эти два входа пусты, они также скрывают другие входные данные. Я намеревался просто скрыть эти два и показать другие iput в соответствии с этим циклом
Ответ №2:
Вы можете использовать это, чтобы проверить пустое значение и скрыть текстовое поле
if(jQuery(".testeeeee > .form-control1").length > 0){
$(".testeeeee > .form-control1").each(function(){
if($(this).val() == ''){
$(this).hide();
}else{
console.log("TEXTBOX IS NOT EMPTY t n");
$(this).show();
}
});
}
дайте мне знать, если это вам поможет.
Комментарии:
1. Я получаю эту ошибку «не удается прочитать свойство ‘length’ неопределенного»
2. Я использовал его, но он не работает. Можете ли вы поместить это в мой включенный код, чтобы понять, как применить ваше решение?