2014-03-29 43 views
0

我有很多複選框出現在網頁中。所以,基本上結構這樣的:與很多複選框一起工作控件

複選框是CheckboxNo 文本框

所以,我對whcih包含兩個複選框顯示是或否它的文本框上面套hundredes的explanation.My查詢當用戶點擊是時,文本框將被啓用,否則它將被禁用。這是好的我可以做到這一點,並在我的一些頁面做到這一點:: IsProcess是一個類給每個複選框,以便我可以解決它。 複選框是代表「是」的複選框的ID TextboxId是默認禁用的文本框的ID。

視圖頁面

<div style="width: 100%; float: left; padding-bottom: 10px;"> 
    <span style="width: 100%; float: left; line-height: 20px;">Do you currently have thoughts of wishing you were dead?</span> 
    <div style="width: 10%; float: left;">@Html.CheckBoxFor(m => m.WishingDeadNo, new { @class = "Wishing", @onclick = "Checkme(this.className);" }) No</div> 
    <div style="width: 30%; float: left;">@Html.CheckBoxFor(m => m.WishingDeadYes, new { @class = "Wishing", @onclick = "Checkme(this.className);" }) Yes ,explain</div> 
    <div style="float: left; width: 60%;">@Html.TextAreaFor(m => m.WishingDeadExplanation, new { @readonly = "readonly" })</div> 
</div> 

腳本::

$('.Wishing').click(function() { 
     if ($("#WishingDeadYes").is(':checked')) { 
      $("#WishingDeadExplanation").removeAttr("disabled"); 
     } 
     else { 
      $("#WishingDeadExplanation").attr("disabled", "disabled"); 
      $("#WishingDeadExplanation").val(''); 
     } 
    }); 

所以我好這個,但是當你有幾百套以上問題到達。 我必須寫成千上面的lines.Please幫助。

+0

關於發佈實際HTML如何而不是 – adeneo

+0

我不知道。 – Sweetie

+0

如果你不知道HTML的樣子,你打算如何瞄準正確的元素? – adeneo

回答

0

對於這兩個複選框,您可以擁有不同的類。

<div style="width: 100%; float: left; padding-bottom: 10px;"> 
    <span style="width: 100%; float: left; line-height: 20px;">Do you currently have thoughts of wishing you were dead?</span> 
    <div style="width: 10%; float: left;">@Html.CheckBoxFor(m => m.WishingDeadNo, new { @class = "WishingNo", @onclick = "Checkme(this.className);" }) No</div> 
    <div style="width: 30%; float: left;">@Html.CheckBoxFor(m => m.WishingDeadYes, new { @class = "WishingYes", @onclick = "Checkme(this.className);" }) Yes ,explain</div> 
    <div style="float: left; width: 60%;">@Html.TextAreaFor(m => m.WishingDeadExplanation, new { @readonly = "readonly" })</div> 
</div> 

然後將事件綁定到只有WishingYes複選框。和事件,如果你將有上千套相同的你不需要寫不同的代碼。

注意我寫的代碼假設你將有相同的設計,上面爲每一套複選框和文本區域的

$('.WishingYes').click(function() { 
     if ($(this).is(':checked')) { 
      $(this).parent().next('div').find("textarea").removeAttr("disabled"); 

     } 
     else { 
     $(this).parent().next('div').find("textarea").prop("disabled", "disabled"); 
     $(this).parent().next('div').find("textarea").val(''); 
     } 
    }); 

FIDDLE

0
<input type="checkbox" class="abc" value="yes"> 

<Script type="text/javascript"> 
    $(.abc).is(':checked')) 
    { 
    //set your value here 
    } 
    </Script> 
相關問題