我有一个select字段,里面有一些选项.现在我需要选择其中一个options使用jQuery.但是,我怎么能做到这一点时,我只知道value的option是一定要选择?
我有以下HTML:
<div class="id_100">
<select>
<option value="val1">Val 1</option>
<option value="val2">Val 2</option>
<option value="val3">Val 3</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要选择有价值的选项val2.如何才能做到这一点?
这是一个演示页面:http: //jsfiddle.net/9Stxb/
我需要从GitHub下载Facebook API .通常,我只需单击"下载"选项卡下载最新的源代码.在这种情况下,我需要一个较旧的提交:91f256424531030a454548693c3a6ca49ca3f35a,但我不知道如何从该提交中获取整个项目...
有人可以告诉我该怎么做?
(顺便说一句,我在Mac上.不知道这是否有任何区别).
我想检查当用户点击它时是否取消选中复选框.这是因为我想在用户取消选中复选框时进行验证.因为需要检查至少一个复选框.因此,如果他取消选中最后一个,那么它会再次自动检查.
使用jQuery,我可以很容易地发现它是否经过检查:
$('#check1').click(function() {
if($(this).is(':checked'))
alert('checked');
else
alert('unchecked');
});
Run Code Online (Sandbox Code Playgroud)
但实际上我只想要一个if语句来检查一个复选框是否被取消选中.
所以我想我可以用以下代码做到这一点:
$('#check2').click(function() {
if($(this).not(':checked'))
alert('unchecked');
else
alert('checked');
});
Run Code Online (Sandbox Code Playgroud)
但这将始终显示"未经检查"的消息.不是我真正期待的......
演示: http ://jsfiddle.net/tVM5H/
所以最终我需要这样的东西:
$('#check2').click(function() {
if($(this).not(':checked')) {
// Got unchecked, so something!!!
}
});
Run Code Online (Sandbox Code Playgroud)
但显然这不起作用.我宁愿不想使用第一个例子,因为当我只需要一个'if'语句时,我会有一个不必要的'else'语句.
首先,这是一个jQuery错误吗?对我来说这是出乎意料的行为.第二,任何人都想要一个好的选择吗?
我正在使用KnockoutJS迭代一个对象,如下所示:
现在这一切都有效.但我的问题是,它设置id的button只是一个数字.所以它看起来像这样:
<button id="1">Button 1</button>
<button id="3">Button 2</button>
<button id="8">Button 3</button>
Run Code Online (Sandbox Code Playgroud)
所以我试图在'Id'属性前加一个前缀,如下所示:
<div data-bind="foreach:Items">
<button data-bind="text: Name, attr: {'id': 'myprefix_' + Id}"></button>
</div>
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有奏效.id当我这样做的时候,我会充满一些Knockout可观察功能......
所以我的问题是,当我指定id字段的属性时,如何添加前缀?
我知道这个问题已被问过好几次了,但是他们都没有一个真正的答案来解决这个问题.也许有一个针对我的具体案例.
我正在构建一个mapper类,它使用magic方法__get()来延迟加载其他对象.它看起来像这样:
public function __get ( $index )
{
if ( isset ($this->vars[$index]) )
{
return $this->vars[$index];
}
// $index = 'role';
$obj = $this->createNewObject ( $index );
return $obj;
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中我做:
$user = createObject('user');
$user->role->rolename;
Run Code Online (Sandbox Code Playgroud)
这项工作到目前为止.该User对象没有名为"role"的属性,因此它使用magic __get()方法创建该对象,并从"role"对象返回其属性.
但是当我尝试修改'rolename'时:
$user = createUser();
$user->role->rolename = 'Test';
Run Code Online (Sandbox Code Playgroud)
然后它给我以下错误:
注意:间接修改重载属性无效
不确定这是否仍然是PHP中的一些错误,或者它是否是"预期的行为",但无论如何它都不能按我想要的方式工作.这对我来说真的是一个阻止......因为我怎么能改变延迟加载对象的属性?
编辑:
当我返回包含多个对象的数组时,似乎只会发生实际问题.
我添加了一个代码片段来重现问题:
你真的应该在你的PHP环境中运行它,真正看到'错误'.但这里有一些非常有趣的东西.
我试图改变一个对象的属性,这给了我通知'不能改变重载属性'.但是,如果我在之后回复该属性,我发现它实际上是DID改变了价值......真的很奇怪......
在我的iPhone上,我正在以全屏模式播放视频/音频文件.当视频/音频文件到达终点时,将触发以下方法:
- (void) movieFinishedCallback:(NSNotification*) aNotification {
MPMoviePlayerController *player = [aNotification object];
[player stop];
[[NSNotificationCenter defaultCenter]
removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[player autorelease];
[moviePlayer.view removeFromSuperview];
NSLog(@"stopped?");
}
Run Code Online (Sandbox Code Playgroud)
这很好用!但问题是当视频/音频文件仍在播放时我按下"完成"按钮.那么这个方法不会被触发......
任何人都知道在按下"完成"按钮时如何捕捉事件?因为现在媒体播放器仍然在视图中.它并没有消失.
我想为WCF服务创建一个测试类.我相信"嘲笑"是正确的用语吗?
我不确定我认为我必须这样做的方式是正确的方法.我得到了一个WCF服务的URL,例如:
http:://somesite.com/wcf/RealService.svc
Run Code Online (Sandbox Code Playgroud)
和:
http:://somesite.com/wcf/RealService.svc?wsdl
Run Code Online (Sandbox Code Playgroud)
因此RealService.svc,Service Reference我只是在我的项目中添加了一个新的空WCF Service,而不是实际添加到我的项目中Service1.
然后我想使用wsdl.exe(或者可能是svcutil.exe?)工具从WSDL url生成一个接口:http:://somesite.com/wcf/RealService.svc?wsdl.
然后我打开Service1.cs文件,而不是让IService1.cs我继承,我让它从生成继承interface.
然后,我不是在我的应用程序中调用真实服务,而只是调用我的Service1类.这是一个嘲弄网络服务的工作方式..?
还需要弄清楚如何interface使用svcutil工具实际生成一个(我读过我不能使用wsdl.exe进行WCF服务?).所以任何提示都非常受欢迎!
我有一个填充了整数的List,如下所示:
[0] 1
[1] 4
[2] 4
[3] 8
[4] 9
[5] 1
[6] 1
Run Code Online (Sandbox Code Playgroud)
所以基本上是随机数,但是同一个数字可以在该列表中多次出现.
我想要的是按编号对它们进行分组,但我也可以告诉我这个数字在列表中的次数.所以我有一个类似的东西:
[0]
[number] 1
[total] 3 // Occured 3 times in the list
[1]
[number] 4
[total] 2
[2]
[number] 8
[total] 1
[3]
[number] 9
[total] 1
Run Code Online (Sandbox Code Playgroud)
有没有快速/简单的方法来实现这一目标?或者我是否已经写出各种循环和检查来手动构建这样的东西?
我最近开始使用soapUI 4.5.1,我仍然不熟悉所有设置.我已经设置了一些Web请求,除了一个以外的所有请求都正常工作.我正在尝试发送application/xml类型的内容,但我得到:
由org.apache.http.ProtocolException引起的org.apache.http.client.ClientProtocolException:Content-Length标头已存在.
在4.5.0中,同样的请求对我来说总是很好.请求的内容是这样的:
POST http://exampleHost.com/exampleRequest HTTP/1.1
Accept-Encoding: gzip,deflate
Accept: text/xml
Content-Type: application/xml
Content-Length: 456
Host: exampleHost.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Run Code Online (Sandbox Code Playgroud)
其次是xml.
我认为内容长度发送两次,但我不知道在哪里,因为我没有把它设置在任何地方.SoapUI显示Additional HTTP Headers for this message为0.
任何指针都会很棒!
我正在尝试理解像StructureMap这样的IoC框架的使用,但我不禁想到这些"设计模式"只是无意义,使代码变得更加复杂.
让我先从一个例子开始,我认为IoC有点用处.
我认为在处理MVC框架中控制器类的实例化时,IoC可能很有用.在这种情况下,我正在考虑.NET MVC框架.
通常,控制器类的实例化由框架处理.这意味着您无法将任何参数传递给控制器类的构造函数.这就是IoC框架可以派上用场的地方.在IoC容器中的某个位置,您可以指定constructor在调用控制器类时应该实例化哪个类并将其传递给控制器.
当您想要对控制器进行单元测试时,这也很方便,因为您可以模拟传递给它的对象.
但就像我说的,我可以理解为什么人们想将它用于控制器类.但不是在那之外.从那以后,您可以简单地执行正常的依赖注入.
但为什么不简单地这样做:
public class SomeController
{
public SomeController() : this( new SomeObj() )
{
}
publiv SomeController(SomeObj obj)
{
this.obj = obj;
}
}
Run Code Online (Sandbox Code Playgroud)
现在您不必使用任何第三方IoC框架,这也意味着更低的学习曲线.既然您不必深入了解该框架的规范.
您仍然可以在单元测试中模拟对象.所以也没问题.
你唯一能说的就是,"但现在你的类是紧密耦合到SomeObj".这是真的.但谁在乎!?这是一个控制器类!我永远不会重复使用那个类..那么为什么我要担心这种紧耦合......?我可以模拟传递给它的对象.这是唯一重要的事情.
那我为什么要打扰使用IoC呢?我真的错过了这一点......?对我来说,IoC模式只是一些被高估的模式.为您的应用添加更多复杂的图层......
c# ×3
jquery ×2
.net ×1
git ×1
github ×1
html-select ×1
http-headers ×1
ios ×1
knockout-2.0 ×1
knockout.js ×1
objective-c ×1
php ×1
soapui ×1
wcf ×1
web-services ×1