1

私のコードは次のとおりです。名前がdelete []の入力タグを正確に見つけることができないようです。ありがとう。

<div id="rc1" class="actionitem">
<fieldset>
<legend>Action Item</legend>
<table>
</table>
<input type="hidden" value="" name="aid[]">
<input type="hidden" value="" name="delete[]">
<button onclick="remove(this);" type="button">Remove</button>
</fieldset>
</div>

<script>
function remove(element){
    if (confirm("Please press OK to confirm")) {
        $(element).parent().find('delete').val('1');
        $(element).parent().parent().slideUp('slow', function() {
            $(element).parent().parent().hide();
        });
    }
}
</script>
4

3 に答える 3

0

それ以外の

.find('delete')

次のようなセレクター構文を試してみませんか

.find('input[name="delete[]"]')
于 2012-12-09T14:57:59.980 に答える
0

name 属性で要素を見つける必要があります。その行をこれに変更して機能させます

$(element).parent().find("input[name='delete[]']").val('1');

あなたがそのコードを書いた方法は、jQuery に、要素の値を持つ属性を持つ要素<delete>ではDOMない要素を探すように強制します。namedelete[]

于 2012-12-09T14:52:25.110 に答える
0

これを試して

<div id="rc1" class="actionitem">
<fieldset>
<legend>Action Item</legend>
<table>
</table>
<input type="hidden" value="" name="aid[]">
<input type="hidden" value="" name="delete[]">
<button class="removeBtn" type="button">Remove</button>
</fieldset>
</div>

</p>

$(function(){
  $("button.removeBtn").click(function(){
    var el = this;
    if (confirm("Please press OK to confirm")) {
        $(el).parents("fieldset").find("input[name='delete[]']").val('1');
        $(el).parents(".actionitem").slideUp('slow', function() {
            $(el).parents(".actionitem").hide();
        });
    }
  })
​})​
于 2012-12-09T14:55:57.583 に答える