0
<label class="checkbox inline">
<input type="checkbox" name="Services[]" value="service1"> Service 1
</label>
<label class="checkbox inline">
<input type="checkbox" name="Services[]" value="service2"> Service 2
</label>

我正在使用 Services[] 以便将 $_POST['Services'] 映射到 PHP 中的一个数组,其中包含所需的值。

但是,在客户端,我还需要在表单提交(到 PHP)后取消选中所有这些复选框。相当简单的 Javascript:(实际的复选框组是 8 长)。

for (j=0; j<8; j++){
fields[6][j].checked=false;
}

在哪里:

fields[6] = formob.Services[];
formob=document.forms["FooterQuote"];

问题是我不能将 Services[] 放入 Javascript 数组中。我尝试过使用以下方法:(伪代码,这里只有语法)

var fields=[formob.text1, formob.text2, formob.text3, formob.Services[]];
//Syntax error at Services[]

var fields=new Array(formob.text1, formob.text2, formob.text3, formob.Services[]);
//Syntax error at Services[]

var fields=new Array(formob.text1, formob.text2, formob.text3);
fields.push(formob.Services[]);
//Syntax error at Services[]

所以,不幸的是,据我所知,我无法将 Services[] 推送到 Javascript 数组中。

我也尝试过使用 formob.Services ,但这也不起作用。

有没有人知道如何使复选框的 name="Services[]" 语法在 Javascript 数组中工作,所以我可以循环并取消选中它们?:)


NSNotification 未在 super 上调用

在课堂上,我执行以下操作:

- (void)windowDidLoad
{
    [super windowDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(windowWillClose:) 
                                                 name:NSWindowWillCloseNotification 
                                               object:self.window];
}

- (void)windowWillClose:(NSNotification *)notification {
    NSLog(@"closing");
}

然后我将这个类子类化。只有一个问题。当我对这个类进行子类化时,永远不会发送通知。是否有一个原因?

4

2 回答 2

2

你必须解决这样的复选框:

var services = ​document.forms['FooterQuote']['Services​[]']​;

有关详细信息,请查看这篇文章:点和方括号符号

所以要取消选中它使用:

for (var i = 0; i < services.length; i++) {
    services[i].checked = false;
}
于 2012-05-05T23:01:59.473 回答
1

这是您应该使用方括号表示法的时候。

你可以做

formob["Services[]"]

或者

formob.elements["Services[]"]
于 2012-05-05T23:03:31.220 回答