双方.is(':checked')并.prop('checked')可以使用,如果复选框被选中进行测试.
这两种查询检查状态的方式之间是否存在任何有趣/重要的差异,还是仅仅是个人偏好的问题?
我知道FileNotFound是Checked Exception但是尽管如此,只有在运行时才会发生这种异常.它更像是算术异常(未经检查).
无论是选中还是未选中,异常都只会在运行时发生.
我的问题是为什么我们将FileNotFound/IO/DB相关的东西称为Checked Exception?
请分享你宝贵的想法:)
我想检查是否使用jquery选中复选框.我想在复选框的onclick事件上查看它.
<input type="checkbox" onclick="javascript:check_action();" id="Public(Web)" checked="checked" value="anyone" name="data[anyone]">
Run Code Online (Sandbox Code Playgroud)
可能吗?怎么样?
谢谢.
这是我的jQuery脚本:
$("input[type=radio]:checked").live("click", function() {
$(this).attr("checked",false);
});
Run Code Online (Sandbox Code Playgroud)
我想让我的所有单选按钮都可以选中并取消选中.该代码假设仅在单击检查的无线电时触发.但不知何故,任何无线电点击(无论是否检查)都会触发此事件.就好像浏览器会首先检查收音机然后运行我的脚本.
如果我alert($("input[type=radio]:checked").size()),它给了我正确的计数.
我正在测试FF4中的代码,但我希望该解决方案也可以满足IE.
好吧,因为我的问题似乎令人困惑,这是我想要的工作代码,但它需要额外的自定义属性,我希望可以避免.
<input type="radio" name="group1" value="1" isChecked="false"/>
<input type="radio" name="group1" value="2" isChecked="false"/>
<input type="radio" name="group1" value="3" isChecked="false"/>
<script>
$(document).ready(function(){
$("radio").click(function(){
if($(this).attr("isChecked")=="false"){
$(this).attr("isChecked","true");
$(this).attr("checked",true);
}
else{
$(this).attr("isChecked","false");
$(this).attr("checked",false);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud) 我有一些关于在Java中处理异常的问题.我读了一下它并得到了一些矛盾的指导方针.
我们来看看上面提到的文章:
它声明如果"客户端代码无法执行任何操作",通常应避免使用已检查的异常.但它究竟意味着什么?在GUI中显示错误消息是否有足够的理由冒泡检查异常?但它会迫使GUI程序员记住捕获RuntimeExceptions及其后代以显示潜在的错误信息.
本文中提出的第二个观点是,除非我想在其中实现一些关税字段/方法,否则应该避免发明自己的异常类.我通常不同意这一点,我今天的练习恰恰相反:我将自己的异常结构中的异常包装到我编写的类实现的反射目标中,即使它们只是在不添加任何新方法的情况下扩展Exception.我认为在抛出更高层时更灵活地处理它们对于将使用这些类的程序员来说通常更清晰和易于理解.
我今天实现了一些代码,在文章中抛出RuntimeException,然后我让Sonar分析它.为了让我更加困惑,Sonar将我的RuntimeExceptions标记为主要错误,并标记为"避免在自己的类型中抛出root类型异常,wrap'em".
所以它看起来很有争议,你怎么看?
我今天也从一位技术主管那里听说,只是包装异常是不好的,因为这对JVM来说是一个非常昂贵的操作.对我来说,另一方面,在任何地方抛出SQLExceptions或IOExceptions看起来有点破坏封装.
那么你对我在这里提出的问题的一般态度是什么?
何时在我自己的类型中包装异常,何时不应该这样做?
哪里的那点客户端"不能做任何有关这一点,抛出运行时异常?"
性能问题怎么样?
我有一个复选框和一个单选按钮组,我想知道是否选中了复选框以及选中了哪个单选按钮.
我怎么用飞镖做这个?
我有一个ToolStrip多个ToolStripDropDownButtons,每个都有一套DropDownItems.
当用户单击DropDownItem时,将显示复选标记.

默认情况下,可以单击多个项目,因此会出现多个复选标记.

我要做的是当用户点击一个DropDownItem时,应该取消选中其他已检查的项目.换句话说,DropDown列表中应始终只有一个已检查项.
我已经讨论了一段时间,但我无法弄清楚如何保留当前检查的项目,同时取消选中其他项目.
下面是我现在的代码.
private void subietm1ToolStripMenuItem_Click(object sender, EventArgs e)
{
UncheckOtherToolStripMenuItems(sender);
}
public void UncheckOtherToolStripMenuItems(object selectedMenuItem)
{
List<ToolStripDropDownButton> dropdownButtons = new List<ToolStripDropDownButton>();
foreach (ToolStripItem item in toolStrip1.Items)
{
if (item is ToolStripDropDownButton)
{
dropdownButtons.Add((ToolStripDropDownButton)item);
}
}
foreach (ToolStripDropDownButton btn in dropdownButtons)
{
foreach (ToolStripMenuItem d in btn.DropDownItems)
{
if (d.Checked)
d.CheckState = CheckState.Unchecked;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人能够对此有所了解,或者告诉我一个简单的方法,我将不胜感激.
谢谢.
我正在使用我在这些板上找到的一个很好的简短的CSS方法,在我正在开发的在线应用程序中使用我自己设计的复选框和单选按钮.
我所做的是隐藏收音机并检查并在标签中显示我的图形作为背景,如下所示:
input[type="radio"] {
display: none;
}
input[type="radio"] + label {
display: block;
padding: 8px 4px 8px 22px;
background: url(../img/filter-checks.png) 0 0 no-repeat;
}
input[type="radio"]:checked + label {
background-position: -30px 0;
}
Run Code Online (Sandbox Code Playgroud)
显然我使用类似的复选框.像魅力一样工作,但遗憾的是在IE8中却无法应对:checked属性.
我试图用jquery解决这个问题,检测是否检查了radiobutton,然后添加一个"已检查"类并为其分配相同的CSS.
$('input[type="radio"],input[type="checkbox"]').each(function() {
if ($(this).is(':checked')) {
$(this).addClass('checked');
}
else {
$(this).removeClass('checked');
}
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,虽然我发现许多帖子说is(':checked')的东西应该在IE8中运行,但它并不适合我.当我在任何其他浏览器中单击radiobutton时,我可以看到添加或删除了类"已检查",但在IE8中没有.
在IE8中是否检查了无线电按钮或复选框的任何解决方案或替代方案?
---------- UPDATE 08-07 9:30 -------------
经过一番重新考虑后,我完全重新设计了我的代码,专门针对单选按钮并完全省略了:检查过的东西.现在我发现真正的问题似乎是addClass似乎在IE8中不起作用>(
我的新jquery:
$('input[type="radio"]').click(function() {
var radioName = $(this).attr('name');
$(this).parent('.form-check').css('background-color', '#ff0000');
$(this).parent('.form-check').addClass('checked');
$('input[type="radio"][name="' + radioName + '"]').not(this).parent('.form-check').css('background-color', 'transparent');
$('input[type="radio"][name="' + radioName + '"]').not(this).parent('.form-check').removeClass('checked');
});
Run Code Online (Sandbox Code Playgroud)
添加红色背景进行测试.他们工作,addClass不....任何好主意?
---------- UPDATE 08-07 …
我有一个复选框和两个输入字段.必须选中复选框或必须填写两个输入字段.我正在使用Angular进行验证,即ng-show,ng-required.
选中该复选框后,将禁用两个输入字段,即ng-disabled ="$ parent.vm.selectAllDates".
现在我还必须清除可能已输入文本框的任何数据.
在页面加载时未选中该复选框.它在控制器中设置如下:vm.selectAllDates = false;
在Angular中选中复选框时,是否有某种方法可以清除输入字段?
编辑我添加了我尝试使用你的例子
复选框:
<input name="dateSelectAll" type="checkbox"
ng-model="$parent.vm.selectAllDates"
ng-required="vm.selectedReport.Parameters.StartDate == null && vm.selectedReport.Parameters.EndDate == null" />All Available Dates
Run Code Online (Sandbox Code Playgroud)
开始日期输入:
<input name="beginningDate" type="text" class="form-control form-field" datepicker-popup="dd-MMM-yyyy"
ng-disabled="$parent.vm.selectAllDates"
ng-model="$parent.vm.selectedReport.Parameters.StartDate"
is-open="beginningDateOpened"
ng-required="$parent.vm.selectAllDates == false"
ng-change="$parent.vm.selectedReport.Parameters.StartDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.StartDate"
close-text="Close" />
Run Code Online (Sandbox Code Playgroud)
结束日期:
<input name="endDate" type="text" class="form-control form-field" datepicker-popup="dd-MMM-yyyy"
ng-disabled="$parent.vm.selectAllDates"
ng-model="$parent.vm.selectedReport.Parameters.EndDate"
is-open="endDateOpened" ng-change="$parent.vm.selectedReport.Parameters.EndDate = $parent.vm.selectAllDates ? '' : $parent.vm.selectedReport.Parameters.EndDate"
ng-required="$parent.vm.selectAllDates == false && $parent.vm.selectedReport.Parameters.EndDate == null"
close-text="Close" />
Run Code Online (Sandbox Code Playgroud)
一个非常奇怪的事情是我想看看发生了什么,所以我补充说
{{$parent.vm.selectedReport.Parameters.StartDate = $parent.vm.selectAllDates ? '' : …Run Code Online (Sandbox Code Playgroud) 我一直在阅读关于未经检查和已检查的问题,没有一个在线资源真正清楚这些差异以及何时使用两者.
根据我的理解,它们都会在运行时抛出,它们都代表超出逻辑预期范围的程序状态,但必须明确捕获已检查的异常,而未经检查的异常则不会.
我的问题是,假设为了论证我有一个方法来划分两个数字
double divide(double numerator, double denominator)
{ return numerator / denominator; }
Run Code Online (Sandbox Code Playgroud)
以及需要在某处使用divison的方法
void foo()
{ double a = divide(b, c); }
Run Code Online (Sandbox Code Playgroud)
谁负责检查分母为零的情况,是否应该检查或取消检查异常(忽略Java内置的分区检查)?
那么,除法方法是按原样还是按原样声明
double divide(double numerator, double denominator) throws DivideByZeroException
{
if(denominator == 0) throw DivideByZeroException
else ...
}
void foo()
{
try{
double a = divide(b, c);
}
catch(DivideByZeroException e)
{}
}
Run Code Online (Sandbox Code Playgroud)
或者没有经过检查的例外,原样如下:
double divide(double numerator, double denominator)
{
if(denominator == 0) throw DivideByZeroException
else ...
}
void foo()
{
if(c != 0)
double a = …Run Code Online (Sandbox Code Playgroud)