我试图使用AngularJS提供的ng-show和ng-hide函数显示/隐藏一些HTML .
根据文档,这些功能的用途如下:
ngHide - {expression} - 如果表达式为truthy,则元素分别显示或隐藏.ngShow - {expression} - 如果表达式是真实的,那么元素将分别显示或隐藏.
这适用于以下用例:
<p ng-hide="true">I'm hidden</p>
<p ng-show="true">I'm shown</p>
Run Code Online (Sandbox Code Playgroud)
但是,如果我们使用来自对象的参数作为表达式,那么ng-hide并ng-show给出正确的true/ false值,但这些值不会被视为布尔值,所以总是返回false:
资源
<p ng-hide="{{foo.bar}}">I could be shown, or I could be hidden</p>
<p ng-show="{{foo.bar}}">I could be shown, or I could be hidden</p>
Run Code Online (Sandbox Code Playgroud)
结果
<p ng-hide="true">I should be hidden but I'm actually shown</p>
<p ng-show="true">I should be shown but I'm actually hidden</p>
Run Code Online (Sandbox Code Playgroud)
这可能是一个错误,或者我没有正确地执行此操作.
我找不到关于引用对象参数作为表达式的任何相关信息,所以我希望任何对AngularJS有更好理解的人都可以帮助我吗?
我想知道是否有可能使用Java中的String.format方法给出一个前面的零整数?
例如:
1将成为001
2将成为002
...
11将成为011
12将成为012
...
526将保持为526
......等
目前我尝试了以下代码:
String imageName = "_%3d" + "_%s";
for( int i = 0; i < 1000; i++ ){
System.out.println( String.format( imageName, i, "foo" ) );
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这在数字前面有3个空格.是否可以在数字前面加零?
我遇到线高的问题,我无法理解.
以下代码将图像置于div中:
.bar {
height: 800px;
width: 100%;
line-height:800px;
background-color: #000;
text-align: center;
}
.bar img {
vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)
<div class="bar">
<img src="http://27.media.tumblr.com/yHWA4oxH870ulxnoH7CkOSDR_500.jpg" alt="Foo Image" />
</div>
Run Code Online (Sandbox Code Playgroud)
但是,如果我将行高改为100%,则行高不会生效(或者至少不会成为div的100%).
有谁知道我做错了什么?
使用log4j写入多个日志文件时,我遇到重复日志消息的问题.
目前我正在试图登录INFO级数据(及以上)为指定特定的记录foobar的在我的foo.log文件,然后所有WARN的级别的日志消息(及以上)的所有记录中bar.log的文件.
因此,重复的日志消息被写入foo.log文件(每行记录两次),经过一些快速研究后,我发现修复此问题的建议是添加log4j.additivity.foobar=false到我的属性文件中.
这样做的问题是虽然它会阻止重复行,WARN但foobar记录器中的消息永远不会写入bar.log文件.
我的log4j属性文件如下:
log4j.rootLogger = WARN, FOO, BAR
log4j.logger.foobar = INFO, FOO
log4j.additivity.foobar = false
log4j.appender.FOO = org.apache.log4j.RollingFileAppender
log4j.appender.FOO.layout = org.apache.log4j.PatternLayout
log4j.appender.FOO.layout.ConversionPattern = %d{ISO8601} %-5p %c ~ %m%n
log4j.appender.FOO.File = foo.log
log4j.appender.BAR = org.apache.log4j.RollingFileAppender
log4j.appender.BAR.layout = org.apache.log4j.PatternLayout
log4j.appender.BAR.layout.ConversionPattern = %d{ISO8601} %-5p %c ~ %m%n
log4j.appender.BAR.File = bar.log
Run Code Online (Sandbox Code Playgroud)
有谁知道如何将日志消息写入两个日志文件(就像我在开始设置additivity属性之前一样)并且仍然阻止重复的日志消息?
请注意,这是问题的简要概述.在现实世界中,有多个记录器和两个以上的日志文件
是否可以获取表单输入字段的初始值?
例如:
<form action="" id="formId">
<input type="text" name="one" value="one" id="one" />
</form>
$("#one").attr("value"); //would output "one"
$("#one").val(); //would output "one"
$("#one").get(0).value; //would output "one"
Run Code Online (Sandbox Code Playgroud)
但是,如果用户随后将#one输入字段的内容更改为2,则html看起来仍然相同(其中一个作为值),但上面的JQuery调用将返回两个.
JSFiddle玩:http://jsfiddle.net/WRKHk/
我认为仍然可以获得原始值,因为我们可以调用document.forms["formId"].reset()将表单重置为其原始状态.
我最近发现了Elasticsearch,我决定玩一玩.不幸的是我在添加索引时遇到了麻烦.
用于添加索引的代码如下所示,每次尝试添加新索引时都会运行:
public void index ( String index, String type, String id, String json ){
Node node = null;
try{
node = nodeBuilder().node();
Client client = node.client();
IndexResponse response = client.prepareIndex( index, type, id )
.setSource( json )
.execute()
.actionGet();
}
catch ( Exception e ){
Logger.error( e, " Error indexing JSON file: " + json );
}
finally {
if( node != null)
node.close();
}
}
Run Code Online (Sandbox Code Playgroud)
似乎没有添加索引,我的Cluster helath当前是红色的(因为其中一个分片是红色的),但我不知道如何解决这个问题.我收到确认我的索引每次都被添加但是在搜索时或在es-admin中没有显示.
非常感谢所有的帮助或想法.
在Chrome中(我在Win 7上使用版本16.0.912.75米)我发现无论我将光标设置为什么,只要按住鼠标左键并移动光标,光标类型就会变为text(即使页面上没有任何文字).
这是一个错误吗?有谁知道如何解决它,因为它使我的拖放工具看起来有点傻!
JSFiddle:http://jsfiddle.net/KJfbs/
编辑
如下面的@davgothic所述,添加-webkit-user-select: none;将在没有文本时解决问题.但是,如果我们绝对定位元素并将文本置于其后面,则问题仍然存在.
JSFiddle:http://jsfiddle.net/KJfbs/2/
自JQuery Validation Plugin版本发布以来1.9.0,隐藏字段已自动从验证检查[ source ]中省略.
根据发行说明,解决这个问题的方法是设置ignore: []验证功能.
使用版本1.10.0,我无法使用display: none或使用或隐藏的输入字段visibility: hidden.
我的验证是使用类(例如class="required")完成的,验证函数是相当基本的:
JQuery的
$("form").validate({
ignore: [],
errorPlacement: function(error, element) {
error.appendTo( $('#error-message') )
},
invalidHandler: function() {
//do something
},
submitHandler: function() {
//do something else
}
});
Run Code Online (Sandbox Code Playgroud)
工作示例:http://jsfiddle.net/fbCVY/
任何人都可以指出我哪里错了吗?
我们目前正与一些出版商合作,通过他们的PDF生成在线图书.我们的遗留应用程序使用flex,因此我们正在使用SWFTools的PDF2SWF将PDF转换为SWF文件.
我们遇到的问题是,当用户执行搜索时,我们的弹性阅读器不会突出显示SWF文档中的文本.经过快速调查后,我们发现在提取文本时我们需要嵌入PDF文档使用的字体:
http://wiki.swftools.org/wiki/How_do_I_highlight_text_in_the_SWF%3F
pdf2swf -F $YOUR_FONTS_DIR$ -f input.pdf -o output.swf
Run Code Online (Sandbox Code Playgroud)
从上面的代码中可以看出,我们需要一个包含该PDF中字体的字体目录的路径.
由于我们将转换大量PDF,是否可以直接通过PDF访问字体文件而不是在我们的应用程序中存储大量字体?
附加信息
我们的应用程序是用Java编写的.
我们目前在应用程序中使用PDFBox和Ghostscript,因此如果任何解决方案使用这些库,那么这将是首选,但我们对所有想法持开放态度.
大家.我需要2个绝对定位的textarea元素,一个放在另一个上面.这是我的样本:
<div>
<textarea id="txt1" style="position:absolute; top:0; left:0;z-index:0;background:none;">some text</textarea>
<textarea id="txt2" style="position:absolute; top:0; left:0;z-index:1;background:none;"></textarea>
</div>
Run Code Online (Sandbox Code Playgroud)
我期待txt1在txt2之下.这种情况发生在FF和Chrome中.但是在IE(在8和9中测试)中,txt1是可点击的并且变得焦点.
有谁知道,如何管理这个?
提前致谢!