$(この)の代わりを参照することにより、フォーム内のすべての選択要素を取得します$(「フォームを選択」)
-
24-09-2019 - |
質問
私は現在、次のすべてに形で存在する選択要素取得しています:
$("form").submit(function(event)
{
// gather data
var data = GetSelectData($("form select"));
// do submit
$.post($(this).attr("action"), data, ..etc)
});
その代わり$("form select")
に渡すので、私のような何かを言うことができる方法はあり
$(this).children('select') // this doesn't work, btw
イベントのために実行されている提出フォームのコンテキスト内に存在するすべての選択要素を取得する?
これは、私は一般的な機能にすべての機能を移動し、次のように私のコードを削減することができます:
$("form").submit(function(event)
{
GatherDataAndSubmit($(this));
});
function GatherDataAndSubmit(obj)
{
var data = GetSelectData(obj.children('select'));
$.post(obj.attr("action"), data, ..etc)
}
おかげ
デーブ
解決
使用の .find()のの
試してみてください
var data = GetSelectData(obj.find('select'));
.find()および.children()メソッド 後者のことを除いて、類似しています 唯一ダウン単一レベルを移動 DOMツリーます。
$("form").submit(function(event)
{
GatherDataAndSubmit($(this));
});
function GatherDataAndSubmit(obj)
{
var data = GetSelectData(obj.find('select'));
$.post(obj.attr("action"), data, ..etc)
}
他のヒント
$("form").submit(function(event) {
// gather data
var data = GetSelectData($("select", this));
// ...
});
可能な場合は常に第二引数を指定し、この指定コンテキスト/セレクタは、実際に検索された範囲。
所属していません StackOverflow