2014-12-25 58 views
1

我想在使用Ajax jquery从asp.net中的web方法获取响应后创建动态html表。我有一个布尔值的字段,它需要与单选按钮绑定。但我不能设置像checked = true或checked = false这样的属性,它只允许checked = checked属性。我需要的是,如果布尔字段是真的。单选按钮应该被选中,剩下的应该被取消选中。这里是我的代码如何在动态表中选中或取消选中动态表单中的动态单选按钮

function GetDetails(StId) { 
    var input = '{StId:' + StId + '}'; 
    $.ajax({ 
     type: "POST", 
     contentType: "application/json; charset=utf-8", 
     url: "<%=Page.ResolveUrl("~/Sample.aspx/Getdetails ")%>", 
     data: input, 
     dataType: "json", 
     success: function (Result) { 
      Result = Result.d; 
      $("#tblImages").empty(); 
      $.each(Result, function (Key, Value) { 
       var id = Value.Id; 
       var url = "Images.ashx?ImgID=" + id; 
       if (Value.desc == null) var desc = ''; 
       if (Value.IsMainImg == true); 
       mImg = 'checked'; 
       $("#tblImages").append("<tr><td><img src='" + url + "' style='border:3px solid #CCCCFF;height:78px;width:118px'/></td></td><td><table class='subImg' style='border-collapse: separate; border-spacing: 10px;'><tr><td colspan='2'><input type='text' style='height:25px; width:250px' value='" + desc + "' /></td></tr><tr><td style='width:55px'><input id='" + id + "' class='btnDelete' type='submit' value='Delete'/></td><td><input class='rdSetAsMainImg' id='" + id + "' type='radio' checked=' " + mImg + "'/>Set as Main Image</td</tr></table></td></tr>"); 
      }); 
     }, 
     error: function (Result) { 
      alert("Error"); 
     } 
    }); 
} 
+0

你的json看起来有点时髦,asp.net接受无效的json吗? – Musa

+0

json没有问题。我的问题解决了。感谢您的回复 – RosiReddy

回答

1

单选按钮是为检查长checked属性存在,它没有,如果这是真的还是假的,任何这些将设置按钮checked

checked="true" 
checked="false" 
checked="checked" 
关系

底部是正确的用法。

这意味着你必须做

"<input id='"+id+"' type='radio'" + (mImg ? ' checked="checked"' : '') + " />" 
+0

非常感谢您的解决方案 – RosiReddy

0

checked是一个布尔属性,所以一旦它的存在,单选按钮将考虑其价值的检查。只需保留单选按钮即可。

相关问题