一部の無線グループの値に応じて、ボタンを無効/有効にする必要があります。これらのラジオには、Javaのスーパーセットであるgroovyのフレームワークであるgrailsを使用しているため、いくつかのgroovyコードが入力されています。その説明は、ラジオの値がブール値として定義されているということでした。これは、はい/いいえの答えに対応しているため、当然のことです。
ここで、このボタンを無効/有効にするために、いくつかのjavascriptを使用しますが、ブール値を持つバナナになります。タイトルが示すように、ある時点で、保持する変数と保持するfalse
別の変数の間で論理積を実行しますtrue
問題のあるコードは次のとおりです。
var actual = true;
$('.requerido input:radio:checked').each(function() {
console.log("actual: " + actual);
console.log("value: " + this.value);
console.log("actual and value: " + (actual && this.value));
actual = actual && this.value;
console.log("actual: " + actual);
});
ご覧のとおり、私はデバッグにconsole.logを使用しています。これは、ある時点でスローされるものです。
actual: true
value: true
actual and value: true
actual: true
actual: true
value: false
actual and value: false
actual: false
actual: false
value: true
actual and value: true
actual: true
つまり、true && false == falseですが、false && true == true?値には引用符がないため、ブール値であることに注意してください(二重引用符で囲まれた文字列を表すChromeコンソールを使用してデバッグしているため、trueと "true"を区別できます)。
何か案は?
また、常に期待どおりに機能するように手動で比較を行うvar x = true && false
ことは、問題が存在する変数を伴う突き出しです。