2017-12-11 2 views
1

ajaxを使用してループ中に入ってくるブランド名を入力タイプ="に編集したいテキスト "しかし、私はIDの属性を介してデータを送信していることに直面している問題は、問題は、idは一意である私はIDなしでデータを送信することができます私のコードは以下のように私を助けてくださいまたは他の方法。私のコードは以下の通りであるid属性にもかかわらず、データを送信するためにajaxを使用してループ中に入ってくるブランド名を編集したいデータが入力タイプ= "text

を私のコードは以下の通りです:

// PHPコードが

<input type="text" data-id1="<?php echo $brand['brand_id'] ?>" id="update_text<?php echo $brand['brand_id'] ?>" class="form-control edit_box_input edit_input<?php echo $brand['brand_id'] ?> first_name" value="<?php echo $brand['brand_title'] ?>"> 
<span class="label label-info update_btn" update_id = "<?php echo $brand['brand_id'] ?>" > 
    Update 
</span> 
です

----とAjaxコードされる---

<script> 
$("body").delegate(".update_btn", "click", function(event){ 
    event.preventDefault(); 
    var update_id = $(this).attr('update_id'); 
    var updatable_text = $("#update_text").val(); 
    $('.loading').fadeIn(); 
    $.ajax({ 
    url:"delete-n-more-action.php", 
    method:"POST", 
    data:{update:1, update_text:updatable_text, updateID:update_id}, 
    success:function(data){ 
    fetch_brands(); 
    $('.loading').fadeOut(); 
    } 
    }); 
    }); 
</script> 

答えて

0

<div class="parent"> 
    <input type="text" data-id1="<?php echo $brand['brand_id']; ?>" id="update_text" class="form-control edit_box_input first_name" value="<?php echo $brand['brand_title']; ?>"> 
    <span class="label label-info update_btn" data-id="<?php echo $brand['brand_id']; ?>" > 
     Update 
    </span> 
</div> 

<script> 
    $(document).on("click",".update_btn",function(){ 
     var update_id = $(this).data('id'); 
     var updatable_text = $(this).closest('div.parent').find("#update_text"); 
     var updatable_text_val = updatable_text.val() 
     $('.loading').fadeIn(); 
     $.ajax({ 
      url:"delete-n-more-action.php", 
      type:"POST", 
      data:{update:1, update_text:updatable_text_val, updateID:update_id}, 
      success:function(data){ 
       fetch_brands(); 
       $('.loading').fadeOut(); 
       alert(data); 
      } 
     }); 
    }); 
</script> 

にこの

私は仕事にあるためjQueryの .closest()機能のためのdiv内の入力およびスパンを入れた理由をお試しくださいそのセットを使用するのは、セット内の各要素に対するものであり、要素自体をテストし、DOMツリー内の祖先を走査することによって、セレクタに一致する最初の要素を取得します。

関連する問題