我有一组相同的输入字段,我用val()更新值。他们需要具有相同的价值,这样就可以了。但是有些输入字段位于隐藏的div中,我不想更新这些字段的值,但是我的代码会更新它们。
$('.split').val(split_amount);
在我的Jquery代码中:
this.Report.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
this.Report.ServerReport.ReportServerUrl = new Uri(App.Config.ReportServerPath);
this.Report.ServerReport.ReportPath = this.ReportPath;
this.SetRerportParameterValues(); // This does nothing since the report doesn't have any parameters
this.Report.AsyncRendering = false;
所以所有的数值都相等。但是我不希望填充隐藏div中的输入字段。
感谢任何帮助。提前谢谢!
答案 0 :(得分:6)
这样可以解决问题:
$(".split:not(.hidden-div > .split)").val("your value");
此选择器将使用类split
对所有元素进行限定,然后取消所有hidden-div
子元素并且具有类split
的元素。
或者,如果hidden-div
实际上不可见,那么您可以使用基于元素可见性过滤的jQuery选择器:
$(".split:visible").val("your value");
但请注意,如果页面上有许多split
元素,则此选择器的效果不佳。 jQuery必须检查多个元素属性才能确定可见性。根据{{3}}:
由于以下几个原因,可以将元素视为隐藏:
- 他们的CSS显示值为none。
- 它们是type =“hidden”的表单元素。
- 它们的宽度和高度显式设置为0.隐藏了一个祖先元素,因此该元素不会显示在页面上。
答案 1 :(得分:1)
您是否尝试过this?
$('.split:visible').val(split_amount);
答案 2 :(得分:0)
试试这个:
$('.split).each(function()){
$(this).val()='yours value');
if($( this).parent().is( "div." )) {
$(this).val()='';
}
}