0

ユーザーがさらにオプションを追加をクリックすると、javascript でフォームが作成されdocument.getElementById('addmore').innerHTMLます。フォームを複数回表示するとうまくいきます。送信するフィールドごとに一意の ID を作成するために、毎回一意の番号を追加しました。チェックボックスをオンにすると、別のフィールドを表示して入力する必要があります。

document.getElementById('addmore').innerHTML += '<p><div class="required">*Type of Folder</div><label for="it09" class="hidelabel">Content Drive</label><input name="request['+fields+'][Type of Folder:]" id="cbpathCDB'+fields+'" type="checkbox" value="Content Drive" class="required" /><strong>Content Drive</strong> (A: drive)<br /><div id="pathCDB'+fields+'"><label for="newpathCDB"><span class="req">*Path to Content Drive Folder</span></label><input name="request['+fields+'][Path to Content Drive Folder:]" type="text" id="npcdb'+fields+'" size="50" class="required"/><br /><small>Path of folder to be created on Content Drive (A: drive)<br><em>(example: A:\drivefolder</em></small><br /></div></p>';

チェックボックスがオンになっているときに表示する次のdiv、pathCDB +フィールドを取得する複数の方法(jqueryを含む)を試しました。フィールドがなくても問題なく動作します... http://jsfiddle.net/kuVzV/4/を参照してください。ただし、フィールドを追加すると、チェックボックスで表示/非表示に失敗します。

ただし、フォームが作成されると、最初はdivが表示されないのと同じように表示されません...したがって、IDが正しいことはわかっています。Firebug によると、作成された正しい # を示すフィールドで正しい ID が表示されています...

私は今途方に暮れています。

動的に作成された複数の入力に対してチェックボックスがオンになっている場合、この div を表示/非表示にする方法に関する提案はありますか?

4

1 に答える 1

0

jQuery .show()と Jquery .hide( ) をチェックしてみてください。私はこれがあなたが探しているものだと信じています。

$(document).ready(function(){
    $("#cbpathCDB1").on('click', $("#cbpathCDB1 input[type=checkbox]").is(":checked"), someFunction);

});
function someFunction(event){
    if (event.target.checked){
         $("#pathCDB1").hide('slow');
    }
    else{
       $("#pathCDB1").show('slow');
    }
}​

jsfiddle http://jsfiddle.net/FERMIS/7ThtT/6/以下は複数フィールドの例です。

于 2012-06-26T16:26:02.713 に答える