У меня есть часть кода, с которой я работаю, где пользователь может выбрать загрузку «фрагмента» круговой диаграммы или всего этого.jQuery/Javascript boolean
Когда они нажимают на кусочек, я посылаю переменную под названием source
, которая сообщает мне, из какого фрагмента она появилась.
Сейчас я работаю над кнопкой «Загрузить все». Источником для этого будет просто all
.
Это то, что мой цикл выглядит следующим образом, если пользователь выбирает slice
:
// Loop over our data
$.each(seed.dataset,function(key, value){
if(this[col] == slice){
table += '<tr>';
table += '<td>'+this.escalationID+'</td>';
table += '<td>'+this.escReasonID+'</td>';
table += '<td>'+this.reasonText+'</td>';
table += '<td>'+this.escCreatedBy+'</td>';
table += '<td>'+this.escCreatorFirst+'</td>';
table += '<td>'+this.escCreatorLast+'</td>';
table += '</tr>';
}
});
IF
заявление в цикле является то, что контролирует данные его в том числе в табличной переменной. Мой вопрос в том, как я могу выбрать, когда я хочу использовать этот оператор IF или игнорировать его (разрешая добавление всех данных в таблицу var)?
Очевидным было бы обернуть его в другой оператор IF, но я чувствую, что может быть более чистый способ, не дублируя все данные таблицы.
Конечный результат будет bool
, говорящий, что if source=All
включает в себя все строки else if source=slice
, чтобы включить оператор IF, чтобы включить только те данные, которые мы ищем.
UPDATE
По существу я ищу более чистый способ сделать это:
// Loop over our data
$.each(seed.dataset,function(key, value){
if(source == 'slice'){
if(this[col] == slice){
table += '<tr>';
table += '<td>'+this.escalationID+'</td>';
table += '<td>'+this.escReasonID+'</td>';
table += '<td>'+this.reasonText+'</td>';
table += '<td>'+this.escCreatedBy+'</td>';
table += '<td>'+this.escCreatorFirst+'</td>';
table += '<td>'+this.escCreatorLast+'</td>';
table += '</tr>';
}
// We are downloading all so ignore the constraint
}else{
table += '<tr>';
table += '<td>'+this.escalationID+'</td>';
table += '<td>'+this.escReasonID+'</td>';
table += '<td>'+this.reasonText+'</td>';
table += '<td>'+this.escCreatedBy+'</td>';
table += '<td>'+this.escCreatorFirst+'</td>';
table += '<td>'+this.escCreatorLast+'</td>';
table += '</tr>';
}
});
Я добавляю это прямо сейчас, чтобы проверить его, но из того, что я могу сказать, если 'ignoreAll' является ложным, ни одна из данных не будет включена? – SBB
Если 'ignoreAll' является ложным, он будет проверять' this [col] == slice', потому что он находится в режиме OR, а не в режиме AND. если второе условие истинно, то оно добавит строку в таблицу. –
Gotcha, у меня была опечатка; прекрасно работает! – SBB