2012-06-21 83 views
0

我會顯示一個視圖,當我點擊複選框複選框用JavaScript && jQuery的

我試過這樣的,但是不行,
我需要你的幫助來解決這個問題

型號:

public class DisplayData 
{ 
    public bool ID { get; set; } 
    public DisplayData(bool ID) 
    { 
     this.ID = ID; 
    } 
} 

public class Element 
{   
    public string Descripcion { get; set; } 
} 

的HomeController:

 public ActionResult Index() 
    {    
     DisplayData Display = new DisplayData(false); 
     return View(Display); 
    } 

Index.cshtml:

@model AppTwitter.Models.DisplayData 

<script src="@Url.Content("~/Scripts/myCheckbox.js")" type="text/javascript"></script> 

@Html.CheckBoxFor(
x => x.ID, 
new { 
    data_url = Url.Action("PartialDemo", "PartialDemo"), 
    id = "mycheckbox" 
    } 

myCheckbox.js:

$(function() { 
$('#mycheckbox').change(function() { 
    var data = {}; 
    data[$(this).attr('name')] = $(this).is(':checked'); 

    $.ajax({ 
     url: $(this).data('url'), 
     type: 'POST', 
     data: data, 
     success: function (result) { 

     } 
    }); 
}); 
}); 

PartialDemoController.cs

public ActionResult PartialDemo() 
    {        
      var element = new Element(); 
      element.Descripcion = "Descripcion"; 
      return View(element); 
    } 

PartialDemo.cshtml:

@model AppTwitter.Models.Element 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Descripcion) 
    </div> 

    <div class="editor-field"> 
     @Html.EditorFor(model => model.Descripcion) 

     @Html.ValidationMessageFor(model => model.Descripcion) 
    </div> 

感謝,

+0

你能成爲一個更具體一點關於您的問題? – robbrit

+0

我將顯示PartialDemo.cshtml複選框被選中時,我不確定我的代碼在myCheckbox.js中是否正確? – Victor

+0

你是綁定錯誤事件與複選框,使用「點擊」,而不是「改變」 –

回答

0

@Victor,現在,我得到的問題。由於您使用的是@ Html.CheckBoxFor(x => x.ID),因此您分配給複選框的標識符不起作用。在這種情況下,複選框的ID是動態生成的,因此「mycheckbox」不起作用。因此,而不是分配一個ID分配一類即

@Html.CheckBoxFor(
x => x.ID, 
new { 
     data_url = Url.Action("PartialDemo", "PartialDemo"), 
     @class = "mycheckbox" 
    } 
) 

,並在JavaScript中使用如下:

$(function() { 
    $('.mycheckbox').click(function() { 
     // your existing stuff 
    }); 
}); 

希望這將解決這個問題

+0

感謝Kundan Singh Chouhan, – Victor