-1

多数の DIV にコンテンツが入力されたときに DIV を表示する Javascript (主に jQuery) で関数を作成しようとしています。たとえば、

DIV 1 と 2 にコンテンツが入力されている場合 (リストに 2 冊の本など)、DIV 3 が表示され、そのコンテンツを送信できます。

何らかのタイプの送信データが利用可能になる前に両方の DIV を入力する必要があるため、これを前に誰かが経験したことがありますか、または jQuery でこれを行う方法について何か考えがありますか?

私はフィドルをセットアップすることができました: http://jsfiddle.net/takuhii/xmnMG/3/

ALL CODE ON JSFIDDLE

どんな助けでも大歓迎です。

更新- 私がやった方法:

基本的に、私はこれを私の各機能に設定します

$("#myID1").attr('rel', 'done');
$("#myID2").attr('rel', 'done');
$("#myID3").attr('rel', 'done');

そのため、次のようになります。

$('#flyout1 .subProd').click(function() {
    var id1 = $(this).attr('id');
    $("#partnum1").val(id1);  
    $("#myID1").html($("#" + $(this).attr('id')).html());
    $("#myID1").css("border", "none");
    $("#mainID1 #close").css("display", "block");
    $("#mainID1 .button, #mainID1 .qv").css("display", "none");
    $("#myID1").attr('rel', 'done'); /* ADD REL=DONE to DIV */
});

次に、これを実行して確認しましたREL=DONE

setInterval(function() {
    var count = 0;
    var Prod1 = $("#myID1").attr("rel");
    if (Prod1 == "done") {
        count += 1;
    }
    var Prod2 = $("#myID2").attr("rel");
    if (Prod2 == "done") {
        count += 1;
    }
    var Prod3 = $("#myID3").attr("rel");
    if (Prod3 == "done") {
        count += 1;
    }

    if (count == 3) {
        $('#prodSubmit').show()
    } else {
        $('#prodSubmit').hide();
    }
}, 300);

私が追加した各削除機能で:

$("#myID1").removeAttr("rel")
$("#myID2").removeAttr("rel")
$("#myID3").removeAttr("rel")

カウンターは の場合に 1 つしか追加しないためREL=DONE、REL が欠落している場合は自動的に 1 を「減算」するため、この場合、私のカウンターは最大 3 つしか達成できません。setIntervalステートメントの最後からわかるcount=3ように、DIV が表示されたら、ユーザーはそこに情報を送信する必要があります。これが他の誰かにも役立つことを願っています:)

4

1 に答える 1

2

これは、さまざまな簡単な方法で行うことができます。divにどの程度正確にデータを入力しているかに依存しますか? それ以外の場合は、正確な質問に従ってこれを行うことができます。

$(function(){
if ($.trim($('#Prod1').text()!='' && $.trim($('#Prod2').text()!='' &&  $.trim($('#Prod3').text()!='')))) {
    $('#prodSubmit').show();
}

}))

于 2013-06-14T10:30:02.080 に答える