我有以下html。
<fieldset id="fieldset-step_3">
<input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]">
<select class="w50" id="rule_form-operator" name="rule_form[operator]">
<option label="<" value="<"><</option>
<option selected="selected" label=">" value=">">></option>
</select>
<button type="button" id="next" name="next">Next</button>
</fieldset>
单击下一步按钮时,我使用以下jquery代码获取值。
$('#next').click(function () {
var values = $('#fieldset-step_3').serialize();
alert(values);
});
此代码适用于firefox 8和opera 11.60 beta。但它不适用于谷歌Chrome 15.0.874.121。
请帮帮我。给我一个从jquery获取字段设置值的想法。
答案 0 :(得分:2)
答案 1 :(得分:1)
这是一种非常简单的方法,但可以完成工作,你可以按照自己想要的方式自定义它。
parseField = function( $object ){
result = new Array();
$object.find('select[value!=""], input[value!=""]').each(function(){
var obj = {};
obj.key = $(this).attr('name');
obj.val = $(this).val();
result.push( obj );
});
return result;
}
您可以像以下一样使用它:
var values = parseField( $('#fieldset-step_3') );
$.each(values, function(i,obj){
alert( 'My key is: ' + obj.key + ' and my value: ' + obj.val );
});
答案 2 :(得分:1)
我今天碰到了这个。 $( '#formid')序列化()。与Firefox一起工作正常,但铬没有出现。 经过一些测试,这是我的答案:
在chrome中,表单名称和id必须相同才能使序列化工作。答案 3 :(得分:0)
mmm尝试添加
<input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]" />
而不是
<input type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]">
验证时我找到了
end tag for "input" omitted, but OMITTAG NO was specified
…ut type="text" value="2" id="rule_form-lead_time" name="rule_form[lead_time]">
You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".