Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 已禁用复选框未显示为jQuery中的已选中复选框_Php_Jquery - Fatal编程技术网

Php 已禁用复选框未显示为jQuery中的已选中复选框

Php 已禁用复选框未显示为jQuery中的已选中复选框,php,jquery,Php,Jquery,全部,, 我有以下几点PHP来检查复选框: <input type="checkbox" name="check_out_gear[]" id="'.$resultsetgear['gear_checkout_id'].'" value="'.$resultsetgear['gear_checkout_id'].'" class="gear_checkout_checkbox" checked disabled> 选中并禁用该复选框时,长度始终为0。但是,一旦我从代码中删除禁用项,

全部,, 我有以下几点PHP来检查复选框:

<input type="checkbox" name="check_out_gear[]" id="'.$resultsetgear['gear_checkout_id'].'" value="'.$resultsetgear['gear_checkout_id'].'" class="gear_checkout_checkbox" checked disabled>

选中并禁用该复选框时,长度始终为0。但是,一旦我从代码中删除禁用项,它的长度至少为1。您知道如何使此代码与禁用的复选框一起工作吗?

您可以使用jQuery对象的
length
属性,而不是
serializeArray()
方法返回的数组长度,请尝试以下操作:

if ($(".gear_checkout_checkbox:checked").length === 0) { 
    jQuery.wl_Alert('Please select a piece of equipment that you\'re checking out!','warning','#no_answers','#workform', {sticky:false}); 
    one_selected = false;
}

您可以使用jQuery对象的
length
属性,而不是
serializeArray()
方法返回的数组长度,请尝试以下操作:

if ($(".gear_checkout_checkbox:checked").length === 0) { 
    jQuery.wl_Alert('Please select a piece of equipment that you\'re checking out!','warning','#no_answers','#workform', {sticky:false}); 
    one_selected = false;
}

serializeArray
模拟表单提交。提交表单时,不会发送禁用的元素

改为使用
is(“:checked”)

jQuery(".gear_checkout_checkbox").is(":checked")
从:

.serializeArray()方法使用标准W3C规则 成功控制,以确定应包括哪些要素;在里面 无法禁用特定元素,该元素必须包含名称 属性


serializeArray
模拟表单提交。提交表单时,不会发送禁用的元素

改为使用
is(“:checked”)

jQuery(".gear_checkout_checkbox").is(":checked")
从:

.serializeArray()方法使用标准W3C规则 成功控制,以确定应包括哪些要素;在里面 无法禁用特定元素,该元素必须包含名称 属性


无论是否选中已禁用的复选框,都不会发送该复选框。因此,
serializeArray
不会拾取它。您应该检查复选框本身是否被选中,而不是它是否将被提交。

禁用的复选框将不会被发送,无论它是否被选中。因此,
serializeArray
不会拾取它。您应该检查复选框本身是否已选中,而不是它是否将被提交。

禁用的输入将不会显示,因为它已禁用。它被检查的事实是无关紧要的

如果使用jQuery启用和禁用复选框,则可以在禁用复选框时使用jQuery在隐藏输入上设置一个值(并在再次启用复选框时再次更改该值)。然后,您可以处理隐藏的输入以及复选框,并执行正确的操作


另一种可能是根本不禁用复选框,但随后使用CSS更改指示复选框已锁定,并捕获onchange事件以防止对其进行修改。

禁用的输入将不会显示,因为它已禁用。它被检查的事实是无关紧要的

如果使用jQuery启用和禁用复选框,则可以在禁用复选框时使用jQuery在隐藏输入上设置一个值(并在再次启用复选框时再次更改该值)。然后,您可以处理隐藏的输入以及复选框,并执行正确的操作


另一种可能是根本不禁用复选框,而是使用CSS更改指示复选框已锁定,并捕获onchange事件以防止其被修改。

这是已禁用输入的记录行为。从:

.serializeArray()方法使用成功控件的标准W3C规则来确定它应该包含哪些元素;尤其是元素不能被禁用,必须包含name属性

只需使用检查复选框的长度,如下所示:

if (jQuery(".gear_checkout_checkbox:checked").length === 0) 

这是禁用输入的记录行为。从:

.serializeArray()方法使用成功控件的标准W3C规则来确定它应该包含哪些元素;尤其是元素不能被禁用,必须包含name属性

只需使用检查复选框的长度,如下所示:

if (jQuery(".gear_checkout_checkbox:checked").length === 0) 

我看不到在代码中是否选中复选框的任何检查。我看不到在代码中是否选中复选框的任何检查。