 <p><a href="http://jsfiddle.net/cse_tushar/JENyF/1" rel="nofollow"><strong>DEMO</strong></a></p> <pre><code>function showValues() { var str = $('#form1').clone(); $.each(str[0], function (i, val) { var str_new = '&lt;pre&gt;' + str[0][i] + '&lt;/pre&gt;'; if (str_new === '&lt;pre&gt;[object HTMLSelectElement]&lt;/pre&gt;') { str[0][i].disabled = 'true'; } }); var str_serialize = str.serialize(); $('#test').text(str_serialize); console.log(str_serialize); } $('#sbt').click(function () { showValues(); }); </code></pre> <p>new <code>var str</code> clone of the <code>form</code> with id <code>form1</code></p> <p>used <code>$.each()</code> to loop around the array of clone variable </p> <p>using <code>'&lt;pre&gt;' + str[0][i] + '&lt;/pre&gt;'</code> these tags it returns like for select tag <code>&lt;pre&gt;[object HTMLSelectElement]&lt;/pre&gt;</code> object type</p> <p>if <code>&lt;pre&gt;[object HTMLSelectElement]&lt;/pre&gt;</code> is matched then i <code>disabled</code> it in the clone</p> <p>in the end i used <code>serialize()</code> to the clone and it worked.</p>