2016-01-20 2 views
0

У меня есть шаблон, который будет состоять из 2 скрытых полей и 1 флажок. Шаблон визуализируется и добавляется на страницу html с помощью функции addProductImage().Получение скрытых значений и совпадение в jquery, javascript и html

Как я могу получить значение скрытых полей (thisFile и mainImage)? Идентификатор div - динамический gc_photo_{{id}}_{{filename}}, он выглядит примерно так gc_photo_1234_12dhbc.jpg.

После получения значения двух скрытых полей, я хочу совместить 2 значения и посмотреть, является ли оно ===, если оно установит флажок для проверки.

Код для шаблона

<script type="text/template" id="imageTemplate"> 
     <div class="row gc_photo" id="gc_photo_{{id}}_{{filename}}" style=" border-bottom:1px solid #ddd; padding-bottom:20px; margin-bottom:20px;"> 
      <div class="col-md-2"> 
       <input type="hidden" name="thisFile" value="{{filename}}"/> 
       <input type="hidden" name="mainImage" value="<?php echo $biz_product->image_name;?>"/> 
       <input onclick="return set_parentimage(this);" type="radio" name="primary_image" id="{{id}}_{{filename}}" value="{{id}}" {{#primary}}checked="checked"{{/primary}} /> <?php echo lang('main_image');?> 
      </div> 
     </div> 
    </script> 

Код для функции

function addProductImage(val) 
{ 
    view = { 
     id:val.item_id.replace(/\s/g, ''), 
     filename:val.detail_image_name, 
     alt:val.alt, 
     primary:val.primary, 
     caption:val.caption 
    } 

    var output = Mustache.render(imageTemplate, view); 

    $('#gc_photos').append(output); 
    $('#gc_photos').sortable('refresh'); 

    thisFile = $($('#gc_photo_id_filename').find("input")[0]).val(); 
    mainImage = $($('#gc_photo_id_filename').find("input")[1]).val(); 


    alert(thisFile); 
    alert(mainImage); 
    if(thisFile === mainImage) 
    { 
     alert('true'); 
    } 
    else 
    { 
     alert("different"); 
    } 

     photos_sortable(); 
    } 
} 

Update 1 Код для функции

function addProductImage(val) 
{ 
    view = { 
     id:val.item_id.replace(/\s/g, ''), 
     filename:val.detail_image_name, 
     alt:val.alt, 
     primary:val.primary, 
     caption:val.caption 
    } 

    var output = Mustache.render(imageTemplate, view); 

    $('#gc_photos').append(output); 
    $('#gc_photos').sortable('refresh'); 

    thisFile = $($('#gc_photo_id_filename').find("input")[0]).val(); 
    mainImage = $($('#gc_photo_id_filename').find("input")[1]).val(); 


    alert(thisFile); 
    alert(mainImage); 
    if(thisFile === mainImage) 
    { 
     $('[name="primary_image"]').prop('checked', true); 
    } 
    else 
    { 
     alert("different"); 
    } 

     photos_sortable(); 
    } 
} 
+0

проверить мой обновленный ответ. – Sachin

ответ

1
thisFile = $(output).find("[name='thisFile']").val(); 
mainFile = $(output).find("[name='mainFile']").val(); 

вы можете получить значения thisFile иmainFile таким образом.

+0

его проблема заключалась в том, что ГЭС пытались создать несколько элементов с тем же именем и идентификатором. –

+0

Создание нескольких элементов с одинаковым именем не является проблемой. – Sachin

+0

это, если они в одной форме –

Смежные вопросы