2014-12-24 110 views
1

誰能幫我。 將數據加載到mvc視圖時,我將加載複選框的值,但如果爲true,則需要禁用2個文本框字段。通過加載MVC複選框,選中禁用文本框

代碼是循環的一塊我的

@Html.TextBoxFor(m => m.Items[i].StartIntervalTime, "{0:HH:mm}", new {     
       Value = Model.Items[i].Available ? "" : Model.Items[i].StartIntervalTime.ToString("HH:mm"), 
       id = "startTime" + i          
}) 
<span>untill</span> 
@Html.TextBoxFor(m => m.Items[i].EndIntervalTime, "{0:HH:mm}", new { 
       Value = Model.Items[i].Available ? "" : Model.Items[i].EndIntervalTime.ToString("HH:mm"), 
       id = "endTime" + i 
}) 
@Html.CheckBoxFor(m => m.Items[i].Available, new { id = i, @class = "closedallday" }) 

我試過,在文本框的標籤,以「殘疾」就像我與「價值」沒有,但均無效,始終禁用文本框,即使沒有一個值。所以..

Disabled = Model.Items[i].Available ? "disabled" : "", 

我需要一個真正的工作解決方案。

謝謝Dinand

+0

如何在HTML看看當你使用'殘疾人= Model.Items [I] .Available什麼樣的? 「禁用」:「」,'?您是否嘗試過使用小寫字母「disabled」字段? –

+0

爲什麼用'jQuery'來標記它? – Jai

回答

2

你可以讓這樣的事情:

//檢查值爲true,禁用繪製文本框,否則畫出來一般:

if(m.Items[i].Availabl == true) 
    { 
    @Html.TextBoxFor(m => m.Items[i].StartIntervalTime, "{0:HH:mm}" 
    , new {ANYTHINK ELSE, disabled="disabled" }) 
    } 
    else 
    { 
    @Html.TextBoxFor(m => m.Items[i].StartIntervalTime, "{0:HH:mm}" 
    , new {ANYTHINK ELSE }) 
    } 
+0

Thanx User ...實現它並且工作 – Dinand

0

只要開它與jQuery

<script> 
    jQuery(document).ready(function() { 
     if ($("input:checkbox").is(":checked")) 
     {    
      $("input:text").prop("readonly", "readonly"); 
     } 
    }); 
</script> 
+0

Thanx Younis,Jquery被加載並且在那之後數據..因此腳本在數據加載後不會被觸發。 – Dinand

+1

嘗試改爲jQuery(document).ready(function()write a當數據加載後,函數執行。 –

1

我會用jQuery來捕捉chec中的變化kbox然後改變你的文本框。這是一個工作jsfiddle

jQuery的

$('#checkbox').on("change", function() { 
    if ($(this).is(":checked")) { 
     textbox.addClass('disabled'); 
     textbox.val(""); 
     textbox.prop('disabled',true); 
    }else { 
     textbox.removeClass('disabled'); 
     textbox.prop('disabled',false); 
    } 
} 

CSS

.disabled { 
    background-color:lightgray; 
} 
+0

謝謝Yoetinger ..數據在Jquery之後加載,所以腳本在需要時不會觸發。 – Dinand

相關問題