0

リンク付きのページがあります。ユーザーがリンクをクリックすると、新しい選択タグが表示され、その選択をそのままにしておくと、削除リンクが表示されます。ユーザーがクリックすると、選択タグが消えます。

私の問題は、クリックして新しい選択を作成し、クリックして削除すると、実際には削除されず、非表示になります。送信後にそのcosが必要ないので、新しい選択が設定されているかどうかを確認します。私は本当のcosを取得しますそれは削除されずに隠されているだけです、それを解決する方法をお願いします

htmlコード

<div class="container" id="addCell">
    <form method="POST" action="<?php echo URL; ?>Cell/addCell">
        <ul>
            <li>
                <p>
                    <label>Name</label>
                    <input type="text" name="name"class="longInput1"/>
                <p>
                <p>
                    <label>City</label>
                    <select id="countrySelector" name="city">
                    </select>
                </p>
            </li>
            <li>
                <p>
                    <label>Inserted cells</label>
                    <a href="#" class="smallLink" id="acaclink">new</a>
                </p>
            </li>
            <li>
                <input type="submit" class="button1" value="save"/>
            </li>
        </ul>
    </form>
</div>

データベースコード

public function addCell() {
        $cellName = $_POST['name'];
        $cityName = $_POST['city'];
        $this->model->addCell($cellName, $cityName);
        if (isset($_POST['acSelect'])) {
            $cells = $_POST['acSelect'];
            $cellID = $this->model->getCellID($cellName);
            $this->model->insertIntersectionCells($cellID, $cells);
        }
        include_once 'Successful.php';
        $s = new Successful();
        $s->index("you inserted your cell");
    }

$ jquery code#

$("#addCell").ready(function(){
    $("#addCell").on('click',"#acaclink",function(){
        var me = this;
        $.getJSON("http://localhost/Mar7ba/Cell/getAllCells/TRUE",function(data){
            var options = '';
            options+="<option>select cell</option>";
            for(var i=0;i<data.length;i++){
                options += "<option>"+data[i]+"</option>";
            }
            $(me).closest('li').append('<p>\n\
            <label>Select Cell</label>\n\
            <select name="acSelect[]">\n\
             '+options+'\n\
</select>\n\
<a href="#" class="removeA">delete</a>\n\
</p>');
        });
    });
});
$("#addCell").ready(function(){
    $("#addCell").on('click',".removeA",function (){
        $(this).closest('p').hide();
    });
});

私の質問を説明できればいいのですが、私の英語は悪いです

4

1 に答える 1

3

remove()次の方法を使用できます。

$("#addCell").ready(function(){
    $("#addCell").on('click',".removeA",function (){
        $(this).closest('p').remove();
    });
});
于 2012-05-18T01:24:27.993 に答える