मैं उसी तरह का प्रभाव प्राप्त करना चाहूंगा, jQuery.serialize()
लेकिन मैं किसी दिए गए बच्चे के पात्र को लौटाना चाहूंगा div
।
नमूना परिणाम:
single=Single2&multiple=Multiple&radio=radio1
मैं उसी तरह का प्रभाव प्राप्त करना चाहूंगा, jQuery.serialize()
लेकिन मैं किसी दिए गए बच्चे के पात्र को लौटाना चाहूंगा div
।
नमूना परिणाम:
single=Single2&multiple=Multiple&radio=radio1
जवाबों:
कोई दिक्कत नहीं है। बस निम्नलिखित का उपयोग करें। यह ठीक वैसा ही व्यवहार करेगा जैसे किसी रूप को क्रमबद्ध करना लेकिन उसके बजाय एक div सामग्री का उपयोग करना।
$('#divId :input').serialize();
चेक https://jsbin.com/xabureladi/1 एक प्रदर्शन (के लिए https://jsbin.com/xabureladi/1/edit कोड के लिए)
serialize
सभी फार्म-तत्वों के भीतर एक div
।आप #target-div-id
अपने form
उपयोग के अंदर div को लक्षित करके ऐसा कर सकते हैं :
$('#target-div-id').find('select, textarea, input').serialize();
वर्तमान में मैं जिस फ़ंक्शन का उपयोग करता हूं:
/**
* Serializes form or any other element with jQuery.serialize
* @param el
*/
serialize: function(el) {
var serialized = $(el).serialize();
if (!serialized) // not a form
serialized = $(el).
find('input[name],select[name],textarea[name]').serialize();
return serialized;
}
इसे भी आज़माएँ:
$ ( '# Divid')। लगता है ( 'इनपुट')। Serialize ()
मेरे समाधान के बारे में क्या:
function serializeDiv( $div, serialize_method )
{
// Accepts 'serialize', 'serializeArray'; Implicit 'serialize'
serialize_method = serialize_method || 'serialize';
// Unique selector for wrapper forms
var inner_wrapper_class = 'any_unique_class_for_wrapped_content';
// Wrap content with a form
$div.wrapInner( "<form class='"+inner_wrapper_class+"'></form>" );
// Serialize inputs
var result = $('.'+inner_wrapper_class, $div)[serialize_method]();
// Eliminate newly created form
$('.script_wrap_inner_div_form', $div).contents().unwrap();
// Return result
return result;
}
/* USE: */
// For: $('#div').serialize()
serializeDiv($('#div')); /* or */ serializeDiv($('#div'), 'serialize');
// For: $('#div').serializeArray()
serializeDiv($('#div'), 'serializeArray');
यदि उन तत्वों का एक सामान्य वर्ग नाम है, तो कोई भी इसका उपयोग कर सकता है:
$('#your_div .your_classname').serialize()
इस तरह आप बटनों के चयन से बच सकते हैं, जिसे jQuery चयनकर्ता का उपयोग करके चुना जाएगा :input
। हालांकि इसके इस्तेमाल से भी बचा जा सकता है$('#your_div :input:not(:button)').serialize();
$('#divId > input, #divId > select, #divId > textarea').serialize();
ID
प्रत्येक चयनकर्ता को निर्दिष्ट करने की आवश्यकता है , जैसे $('#divId > input, #divId > select, #divId > textarea')
:; इसके अलावा, यह >
प्रतीक प्रत्यक्ष बच्चों के तत्वों को संदर्भित करता है ... इस परिदृश्य में बहुत असामान्य या कम से कम, बहुत प्रतिबंधक।
$("#divId").find("select, textarea, input").serialize();
बेहतर प्रदर्शन नहीं करेंगे ? मुझे लगता है कि उपरोक्त धीमा हो सकता है अगर div में बहुत सारे तत्व थे, जैसे कि कई पंक्तियों / स्तंभों वाली तालिका।