-1
有一個具有複選框的編輯表單。如果複選框被選中,它使用腳本發送一個是/否值到hiddenfor(可變javascript如何查看剃刀變量?並設置複選框?
<div class="form-group">
@Html.LabelFor(model => model.PTModel1, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="checkbox">
@Html.CheckBox("checkbox")
@Html.HiddenFor(model => model.PTModel1, new { htmlAttributes = new { @class = "form-control" } })
</div>
</div>
腳本代碼:
$("#checkbox1").on("click", function() {
var myCheckbox1 = $("#checkbox1");
if (myCheckbox1.is(":checked")) {
$("#PTModel1").val("Yes");
}
else {
$("#PTModel1").val("No");
}
});
確定的創建和編輯方法mvc bootstrap可以和一些腳本一起工作,並添加yes/no;但是當執行Edit時會出現問題,如果值被選中並且IS已經設置爲Yes,它總是默認爲no,並且複選框不檢查。如果檢查複選框,如果值現在在f ORM PTModel1變量是「是」?
<script>
$(window).load(function() {
switch (("#PTModel1").val) {
case "Yes": $("#checkbox1").checked;
alert("in switch case");
break;
default: alert("in switch case default" + "#PTModel1");
}
});
</script>
問題:如果設置複選框,如果變量的值是「是」?語法沒有做我期望的。
第二個問題:有一次,我保存了一個複選框的小圖標圖像,所以在索引視圖中它會顯示圖標。無論如何保存並顯示狀態。複選框必須反映複選框
非常感謝!我很驚訝js會如何推斷,如果沒有明確聲明它,這是js聲明的本質嗎?暗示是否?它完美地工作。 – rogersb
@MaxPower這是'三元操作符'。閱讀https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator – Tushar
再次感謝該參考,非常有幫助。但是在加載函數中,沒有,如果沒有?點擊函數的三元語法來自C語法;但第一個就在那裏,隱含1/2三元?這是:聲明,結果是否爲真; – rogersb