اذهب إلى المحتوى

السؤال

نشر

إضافة لهذه المشكلة 

اقتباس

عند عمل update للصورة تتغير القيم في ال index لكن عند فتح modal عرض الصورة تجد أن قيمة الصورة القديمة لاتزال موجودة في ال modal

Screenshot2024-03-041740479.thumb.png.2aae369d185ba90c8afd5e75074ca673.png

وبد إضافة الصورة الجديدة

Screenshot2024-03-04175109.png.a4fa4dfcfa0eb0e2ecf2a38c6f119bc8.png

وهذا show_image.blade.php

<div class="modal fade" id="image_modal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
    aria-labelledby="image_modal" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content modal-content-maps-images">
            <div class="modal-header">
                <h4 class="modal-title" id="delete_header">عرض المحتوى</h4>
                <i type="reset" data-bs-dismiss="modal" aria-label="Close"
                    class="las las la-times text-danger scale5 cancel-modal"></i>
            </div>
            <div class="modal-body p-0">
                <div style="overflow: auto; height: 500px;">
                    <embed  id="image_src" width="100%" style="min-height: 500px; object-fit: contain;"/>
                </div>

            </div>
        </div>
    </div>
</div>

وهذا show_image.js

$(document).on("click", ".show-image-modal", function () {
    if ($(this).data('type_media') === "video") {
        $("#video_src").attr("src", $(this).data('video_url'));
        $("#image_src").hide();
        $("#view_media_card_footer").show();
    } else {
        $("#view_media_card_footer").hide();
        $("#image_src").show();
        $("#image_src").attr("src", $(this).data('image_url'));
    }
    $("#image_modal").modal("show");
});

وهذا row.blade.php الذي يفتح ال modal

<td>
    <button type="button" value="" data-title="المسكن"data-image_url="{{ Storage::url($hotel->contract) }}"
        class="show-image-modal dropdown-item" style="padding: 0;height: 33px;">
        <i class="mdi mdi-file-document-outline" style="font-size: 25px; color: rgb(92, 88, 88);"></i>
    </button>
</td>

 

Recommended Posts

  • 0
نشر
بتاريخ 2 ساعة قال Abdullah Baaqail:

وهذا row.blade.php الذي يفتح ال modal

هل تاكدت من ان هذا الزر يتم اعادة بناءه عند عمل update للصورة ؟ لانه من المتوقع ان المشكلة فى هذا الزر حيث يحتفظ بقيمة الصورة القديمة فى data-image_url . 

اذا كانت تلك المشكلة فيجب ان يتم اعادة بناء الزر عند التغير حيث يمكنك انشاء حدث يسمح باعادة بناء الزر .

اذا لم يتم حل المشكلة هل يمكنك ارسال ملفات المشروع 

  • 0
نشر
بتاريخ 6 دقائق مضت قال محمد_عاطف:

هل تاكدت من ان هذا الزر يتم اعادة بناءه عند عمل update للصورة ؟ لانه من المتوقع ان المشكلة فى هذا الزر حيث يحتفظ بقيمة الصورة القديمة فى data-image_url . 

اذا كانت تلك المشكلة فيجب ان يتم اعادة بناء الزر عند التغير حيث يمكنك انشاء حدث يسمح باعادة بناء الزر .

اذا لم يتم حل المشكلة هل يمكنك ارسال ملفات المشروع 

عند عمل تحديث للصورة فإن القيمة الجديدة تظهر في الزر مثل هذا

Screenshot2024-03-04210919.png.6724061e59133b1ef17adf1a482992a1.png

ولكن لاتظهر في ال modal

هل هكذا يتم اعادة بناء الزر

$(document).on("click", ".show-image-modal", function () {
    document.getElementById('image_and_pdf').dispatchEvent(new Event('button')) //render the button
    if ($(this).data('type_media') === "video") {
        $("#video_src").attr("src", $(this).data('video_url'));
        $("#image_src").hide();
        $("#view_media_card_footer").show();
    } else {
        $("#view_media_card_footer").hide();
        $("#image_src").show();
        $("#image_src").attr("src", $(this).data('image_url'));
    }
    $("#image_modal").modal("show");
});

مع إضافة id لل button

<td>
    <button id="image_and_pdf" type="button" value="" data-title="المسكن"data-image_url="{{ Storage::url($hotel->contract) }}"
        class="show-image-modal dropdown-item" style="padding: 0;height: 33px;">
        <i class="mdi mdi-file-document-outline" style="font-size: 25px; color: rgb(92, 88, 88);"></i>
    </button>
</td>

 

  • 0
نشر
بتاريخ 20 دقائق مضت قال Abdullah Baaqail:

عند عمل تحديث للصورة فإن القيمة الجديدة تظهر في الزر مثل هذا

هل يظهر اى اخطاء فى ال console ؟ 

هل يمكنك اضافة هذا السطر لطباعة قيمة ال image_url واخبرنى هل القيمة الجديدة التى يتم طباعتها فى ال console ام القيمة القديمة.

$(document).on("click", ".show-image-modal", function () {
  if ($(this).data('type_media') === "video") {
    $("#video_src").attr("src", $(this).data('video_url'));
    $("#image_src").hide();
    $("#view_media_card_footer").show();
  } else {
    console.log($(this).data('image_url'));
    $("#view_media_card_footer").hide();
    $("#image_src").show();
    $("#image_src").attr("src", $(this).data('image_url'));
  }
  $("#image_modal").modal("show");
});

 

  • 1
نشر
بتاريخ 12 دقائق مضت قال Abdullah Baaqail:

القمية قبل وبعد التعديل نفسها

كما توقعت . بالفعل هذه مشكلة فى jqeury حيث ان jquery فى اول مرة يتم استدعاء الدالة data للعنصر فانه يقوم بحفظها لديه و اذا تم التعديل عليها فان jquery لا يشعر بهذا التعديل اذا كان تم التعديل عليها بدونه . لذلك فانه عندما يقوم livewire باعادة بناء العنصر فان jquery لا يلاحظ انه تم تغير ال data-image_url لذلك الحل هو ان تقوم باستبدال السطر لديك بهذا السطر.

$("#image_src").attr("src", $(this).attr('data-image_url'));

 

او يمكنك اضافة هذا السطر فى بداية الدالة حيث يجعل jquery يقوم بحذف ال data التى قام بحفظها مسبقا . وبذلك يقوم بانشائها مجددا عن اول مرة اخرى يتم استخدامها.

$(document).on("click", ".show-image-modal", function () {
  $(this).removeData();
  if ($(this).data('type_media') === "video") {
    $("#video_src").attr("src", $(this).data('video_url'));
    $("#image_src").hide();
    $("#view_media_card_footer").show();
  } else {
    $("#view_media_card_footer").hide();
    $("#image_src").show();
    $("#image_src").attr("src", $(this).data('image_url'));
  }
  $("#image_modal").modal("show");
});

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...