[英]checkbox label enabled disabled knockoutjs
我有使用淘汰賽來操縱控件的啟用/禁用模式的html表單。
我有可以通過按鈕操作的文本框控件和復選框控件,如果單擊了按鈕,則可以對其進行編輯,否則將被禁用。
復選框控件正在發生問題,因為它們具有在其周圍添加啟用/禁用類的標簽,因此,盡管已從復選框控件中刪除了disabled屬性,但標簽仍然具有disabled屬性並且無法使用。
這就是我所擁有的:
<table width="95%" data-bind="with: settings">
<tr>
<td style="width:20%" valign="top">q1<br />
<label class="label_yesno">
<input type="checkbox" data-bind="checked: prop_2, enable: editMode" />
</label>
</td>
<td style="width:5%"></td>
<td valign="top">q2<br />
<label class="label_yesno">
<input type="checkbox" data-bind="checked: prop_34, enable: editMode" />
</label>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td valign="top">q3
<br />
<label class="label_yesno">
<input type="checkbox" data-bind="checked: prop_52, enable: editMode" />
</label>
</td>
<td></td>
<td valign="top">q4:<br />
<input type="text" style="width: 95%" data-bind="value: prop_12, enable: editMode" />
</td>
</tr>
</table>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
string script = @"
function settingsViewModel() {
return {
prop_2: ko.observable(false),
prop_12: ko.observable(''),
prop_34: ko.observable(false),
prop_52: ko.observable(false)
};
};";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "settingsvm", script, true);
}
</script>
在初始加載時,控件被禁用:
當我單擊編輯按鈕時,正在發生這種情況:
如您所見,disabled屬性從復選框中刪除,但沒有從包裝該復選框的標簽中刪除。
知道我該如何解決嗎?
標簽的css類名稱為“ disabled”,輸入的HTML禁用屬性為HTML。 淘汰賽對他們的控制方式不同。 使用css綁定來控制類。
<label class="label_yesno" data-bind="css:{disabled:editMode}">
<input type="checkbox" data-bind="checked: prop_2, enable: editMode" />
</label>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.