0

これは、ボタンの親 div のインデックスを返すために使用するインデックス コードです。

j('#optionform').index( j(this).parent() )

クリックされたボタンの DIV インデックスを見つけようとしているので、DIV を削除できます。

HTML レイアウトは次のようになります。

    <form id="optionform" onsubmit="return false;">
    <label><input type="checkbox" id="s_name" value="s_name"> Survey Name </label>
    <label><input type="checkbox" id="s_type" value="s_type"> Survey Type </label><br>
                    Filter Results:<br>
    <div id="template" style="display: none;">
                        Column: <select id="fcolumn[]">
                            <option></option>
    <option value="s_name">Survey Name</option>
    <option value="s_type">Survey Type</option>
    </select><br>
                        Filter Type: <select id="ftype[]">
                            <option></option>
                            <option value="=">Equals</option>
                            <option value="LIKE">Like</option>
                        </select><br>
                        Filter content: <input type="text" id="fcontent[]"><br>
    <img src="images/add.png" width="32px" onclick="addTemp(); return false;">
    <img src="images/delete.png" width="32px" onclick="alert(j(this).attr('src')); remTemp(j('#optionform').index( j(this).parent() )); return false;">
                    </div>
<div class="template" style="display: block;">
                        Column: <select id="fcolumn[]">
                            <option></option>
    <option value="s_name">Survey Name</option>
    <option value="s_type">Survey Type</option>
    </select><br>
                        Filter Type: <select id="ftype[]">
                            <option></option>
                            <option value="=">Equals</option>
                            <option value="LIKE">Like</option>
                        </select><br>
                        Filter content: <input type="text" id="fcontent[]"><br>
    <img src="images/add.png" width="32px" onclick="addTemp(); return false;">
    <img src="images/delete.png" width="32px" onclick="alert(j(this).attr('src')); remTemp(j('#optionform').index( j(this).parent() )); return false;">
                    </div>
<div class="template" style="display: block;">
                        Column: <select id="fcolumn[]">
                            <option></option>
    <option value="s_name">Survey Name</option>
    <option value="s_type">Survey Type</option>
    </select><br>
                        Filter Type: <select id="ftype[]">
                            <option></option>
                            <option value="=">Equals</option>
                            <option value="LIKE">Like</option>
                        </select><br>
                        Filter content: <input type="text" id="fcontent[]"><br>
    <img src="images/add.png" width="32px" onclick="addTemp(); return false;">
    <img src="images/delete.png" width="32px" onclick="alert(j(this).attr('src')); remTemp(j('#optionform').index( j(this).parent() )); return false;">
                    </div>
 </form>

ただし、常に-1インデックスに返されます。

4

2 に答える 2

2

を試してください$(this).parent().index(".template")。ただし、最初のテンプレート div にはクラスではなく id があることに注意してください。それはタイプミスですか?

于 2012-09-13T21:38:18.480 に答える
1

親を直接削除できるのに、divのインデックスが必要なのはなぜですか。

j('#optionform').parent().remove();

j('#optionform').parent() ボタンがクリックされた Div を指定します

于 2012-09-13T21:38:04.660 に答える