複数の入力要素を含むフォームがあり、シリアル化する必要があります-HTTP クエリ文字列に変換します。それはうまくいきます。次に、入力値の 1 つを取り除きたかったので、find を使用して、その値と等しくないすべての要素を選択しました。それはうまくいきます。しかし、その後、2 つの検索を連鎖させて 2 つの入力を削除しようとしましたが、失敗しました。
不要な入力を無効にしたり、name 属性を削除したりすることもできることはわかっていますが、これらのオプションは私のアプリケーションでは適切ではありません。
実証するjsfiddleがあります:http://jsfiddle.net/dr_glenn/H8ZwL/
ここでまとめさせてください。次のようなフォームがあります。
<form>
<input type="text" name='aa' value='aa'>
<input type="text" name='bb' value='bb'>
<input type="text" name='cc' value='cc'>
</form>
次のようなjqueryコード:
query_args = $('#form').serialize();
alert( query_args ); // looks OK
query_args = $('#form').find('[name!="bb"]').serialize();
alert( query_args ); // Very good, 'bb' is gone
query_args = $('#form').find('[name!="bb"]').find('[name!="cc"]').serialize();
alert( query_args ); // FAIL! Nothing is displayed.
私がばかげた初心者の間違いを犯しただけなら、親切にしてください!