2016-12-28 10 views
0

と仮定私は、動的に生成されたIDを持ついくつかのフォームを持っている私は、フォームのボタンをクリックしたときになるように、各フォームに関連付けられたボタンを作成したいボタンをクリックすることで、動的に生成されたIDを持つフォームを非表示にする方法

<form id = "1"> 
    employer: <input type = "text" /> 
</form> 

<form id = "2"> 
    employer: <input type = "text" /> 
</form> 

<form id = "3"> 
    employer: <input type = "text" /> 
</form> 

隠されます。したがって、onclick関数はidをパラメータとして取る必要があります。これを達成する方法は?

私はあなたがjQueryのセレクタで文字列の連結を使用することができます

<script> 
function hideForm(id){ 
    $("#id").hide(); 
} 
</script> 
+1

まだ何か試しましたか?そうでない場合は、いくつかの研究をすることをお勧めします....ボタンはどこで機能をトリガーするのですか?これらは動的なのでどこにビルドしますか?この質問は非常にうまく計画されていません。あなたの質問を更新し、関連するすべてのソースコードを含め、現在どのように機能しているか、これまでに試したことをより詳しく説明することをお勧めします。 – NewToJS

+0

詳細を追加しました。私の質問を明確にすることを願う – Zhuo

+0

@charlietfl私が望むどんなフォームも隠したい。私はそれらのIDが何であるか手前ではわかりません。私の質問では、私は単にid = "1"のフォームを隠そうとする例を挙げました。 – Zhuo

答えて

1

あなたが本当に必要としませんフォームへの参照がある場合はID

例えば

$('form').each(function(i){ 
    var $form = $(this), 
     $button = $('<button>',{text:'Hide form # '+(i+1)}).click(function(){ 
      $form.hide() 
     }); 

    $('body').append($button); 
}) 
+0

私はこれも素晴らしい解決策だと思います。ありがとう! – Zhuo

+0

各フォームのすぐ下にボタンを置くことは可能ですか?この解決策は、すべてのボタンをまとめます。 – Zhuo

+0

'after()'を使用してください。私は、明らかにされていない質問に示されたものだけを行った。http://api.jquery.com/after/ – charlietfl

0

以下に定義hideFormでは、次の

<script type="text/javascript"> 
var inputElement = document.createElement('button'); 
inputElement.addEventListener('click', function(){ 
    hideForm(1); 
}); 
document.body.appendChild(inputElement); 
</script> 

を試してみました:

function hideForm(id){ 
    $("#"+id).hide(); 
} 
+0

これは機能します。ありがとう – Zhuo

0

私が思うに、これはあなたが探しているものです。

HTML:

<form id="1"> 
    employer: 
    <input type="text" /> 
    <button>Hide</button> 
</form> 

<form id="2"> 
    employer: 
    <input type="text" /> 
    <button class="hide-button">Hide</button> 
</form> 

<form id="3"> 
    employer: 
    <input type="text" /> 
    <button>Hide</button> 
</form> 

はJavaScript:

$('form').on('submit', function(e) { 
    e.preventDefault(); 
    $(this).hide(); 
}); 

JSFiddle:

https://jsfiddle.net/nikdtu/pp6j8zvx/

+0

私はこのソリューションがうまくいくと思う。ありがとう – Zhuo

+0

@ Zhuo:ようこそ! –

関連する問題