0

В настоящее время я использую этот код для отображения флажков в качестве таможенного контроля, и она отлично работает:с помощью флажков и подсчета их в Lightswitch HTML

// Create the checkbox and add it to the DOM. 
    var checkbox = $("<input type='checkbox'/>") 
      .css({ 
       height: 20, 
       width: 20, 
       margin: "10px" 
      }) 
      .appendTo($(element)); 

    // Determine if the change was initiated by the user. 
    var changingValue = false; 

    checkbox.change(function() { 
     changingValue = true; 
     contentItem.value = checkbox[0].checked; 
     changingValue = false; 
    }); 
    contentItem.dataBind("value", function (newValue) { 
     if (!changingValue) { 
      checkbox[0].checked = newValue; 
     } 
    }); 

однако теперь я хочу, чтобы это немного расширить, и я интересно, знает ли кто-нибудь, как я могу рассчитывать значения на основе того, являются ли они истинными или ложными.

Что им ищет: У меня 2 флажков ниже, первый является "ИСТИНА" и второй является "FALSE"

  • Я хочу, чтобы иметь возможность чтобы подсчитать эти значения, используя что-то вроде var count, затем поместите его в цикл while или массив, а затем отобразите его на кнопке, подобной следующей для целей тестирования: window.alert("add in text here" + add_code_here)

enter image description here

так пример данных будет:

var trueCount = 0; 
var falseCount = 0; 

window.alert("There are: " + trueCount + " values that are true and " + falseCount + " that are false"); 

и приведенный выше пример trueCount = 1 и falseCount = 1

Спасибо за любые входные люди могут дать мне, это наиболее ценится

ответ

0

Я не мог заставить его работать с флажки пользовательского управления, но для стандартных выключателей этот код работает для меня:

var trueCount = 0; 
var falseCount = 0; 

myapp.TableName.ColumnName_postRender = функция (элемент, contentItem) {// считать истинным или ложным значения contentItem. dataBind ("value", function (newValue) {

if (contentItem.value == true) { 
     trueCount ++; 
     falseCount--; 


    } else if (contentItem.value == false) { 
     falseCount++; 
     trueCount--; 
    } 


}); 

//count 3 sets both trueCount and falseCount to 0 as they would already be affected by the 
//post render method. This works by adding or subtracting the amount of false values non 
//screen (works my my scenario) 
var count3 = 0; 

if (contentItem.value == false) { 
    count3++; 
} 
falseCount = falseCount - count3; 
trueCount = trueCount + count3; 

};

myapp.TableName.Save_execute = function (screen) { 
    window.alert("True Count: " + trueCount + " | falseCount: " + falseCount); 

//set both count values back to 0 for when the screen is next run 
trueCount = 0; 
falseCount = 0; 
}