0

質問にあるように、input boxデータが含まれていない場合 (= ユーザーがキーを押さなかった場合) に追加されないようにするにはどうすればよいですか。

これまでの私のコードは次のとおりです。

<script type='text/javascript'> //<![CDATA[ 
$(window).load(function(){
    $(function(){
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;

        $('#addScnt').live('click', function(){
            $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i + '" value="" placeholder="Input Value"/></label><a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
            i++;
            return false;
        });

        $('#remScnt').live('click', function() {
            if (i > 2) {
                $(this).parents('p').remove();
                i--;
            }
            return false;
        });
    });
}); //]]>  
</script>

<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

目標は、次の場合に別の入力ボックスを追加できないことです

<input type="text"id="p_scnt"> 

空です。
どうやってやるの?

<div id="p_scents">
    <p>
        <label for="p_scnts">
            <input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" />
        </label>
    </p>
</div>
4

4 に答える 4

0

クリック機能を次のように変更しました。

$('#addScnt').live('click', function() {
    if($("#p_scents input").last().val() != ""){
        $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
        i++;
        return false;
    }
});

これはうまくいくはずです。「p_scents」div の最後の入力フィールドが空かどうかをチェックします。空でない場合、スクリプトは新しい入力を追加します。

于 2013-06-05T07:20:27.123 に答える