jquery选择器和disabled='disabled'

jquery选择器和disabled='disabled',jquery,jquery-selectors,Jquery,Jquery Selectors,我刚刚注意到,禁用的输入文本字段在禁用时不会在选择器中拾取。有没有办法说选择输入已禁用或未禁用 <input type="text" name="MYNAME" id="preXXXX" disabled='disabled' value="my Value" /> $.each($('input[id^="pre"], select[id^="pre"]').serializeArray(), function() { 指定3.1项目符号2 jQuery尽可能地遵循规范,以获

我刚刚注意到,禁用的输入文本字段在禁用时不会在选择器中拾取。有没有办法说选择输入已禁用或未禁用

<input type="text" name="MYNAME" id="preXXXX" disabled='disabled' value="my Value"  />

$.each($('input[id^="pre"], select[id^="pre"]').serializeArray(), function() {
指定3.1项目符号2

jQuery尽可能地遵循规范,以获得预期的结果

如果希望通过表单传输数据,但希望阻止用户编辑该值,则应使用而不是disabled=disabled。只读字段就是这样,用户可以读取它们,但不能编辑它们

就选择而言,您只需要使用jQuery工厂方法进行选择:

$('input[id^="pre"], select[id^="pre"]')
您可以使用each函数迭代每个元素:

$('input[id^="pre"], select[id^="pre"]').each( function( index, element ){
  ...do stuff...
});
指定3.1项目符号2

jQuery尽可能地遵循规范,以获得预期的结果

如果希望通过表单传输数据,但希望阻止用户编辑该值,则应使用而不是disabled=disabled。只读字段就是这样,用户可以读取它们,但不能编辑它们

就选择而言,您只需要使用jQuery工厂方法进行选择:

$('input[id^="pre"], select[id^="pre"]')
您可以使用each函数迭代每个元素:

$('input[id^="pre"], select[id^="pre"]').each( function( index, element ){
  ...do stuff...
});

如果您想要提交禁用的输入字段,您可以尝试以下方法

//This gives an array of name/value pair object.
var inputArray = $('input[id^="pre"], select[id^="pre"]').serializeArray();

//Now look only for disabled input fields and push into inputArray and then process that.
$("input:disabled").each(function(){
   inputArray.push({ name: this.name, value: this.value });
});

//Now process inputArray which contains all the input fields name/value pair
$.each(inputArray, function() {

});

如果您想要提交禁用的输入字段,您可以尝试以下方法

//This gives an array of name/value pair object.
var inputArray = $('input[id^="pre"], select[id^="pre"]').serializeArray();

//Now look only for disabled input fields and push into inputArray and then process that.
$("input:disabled").each(function(){
   inputArray.push({ name: this.name, value: this.value });
});

//Now process inputArray which contains all the input fields name/value pair
$.each(inputArray, function() {

});

选择器中拾取的禁用输入字段,但当表单序列化为serialized Array时,它不包括在内,因为它不是一个数组。此行为记录在选择器中拾取的禁用输入字段中,但是当表单序列化为serialized Array时,它不包括在内,因为它不是一个数组。此行为记录在中。

请尝试此操作。您可以这样使用每一个:

$('input[id^="pre"], select[id^="pre"]').each(function() { ... });

试试这个。您可以这样使用每一个:

$('input[id^="pre"], select[id^="pre"]').each(function() { ... });

但我可以选择禁用输入检查,但我可以选择禁用输入检查我试图敦促大家阅读HTML5规范,它写得很好,不难理解。有很多重要的细节是很多开发者都不知道的。我试图敦促大家阅读HTML5规范,它写得很好,不难理解。有许多重要的细节是许多开发人员都不知道的。@mustapha:使用@zzbov提到的readonly属性。或者,您可以在调用之前重新启用禁用的输入serializeArray@mustapha:提供@zzbov提到go的只读属性。或者,您可以在调用SerializeArrayOn之前重新启用禁用的输入。我是否会丢失serialize的功能?我是否会丢失serialize的功能?