2016-01-20 23 views
0

我有一个模板,将包含2个隐藏字段和1个复选框。使用函数addProductImage()将模板呈现并附加到html页面。在jQuery,JavaScript和html中获取隐藏值和匹配

如何获取隐藏字段的值(thisFile和mainImage)?该div的id是动态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(); 
    } 
} 

更新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

他的问题很简单,他试图创建具有相同名称和ID的多个元素。 –

+0

创建具有相同名称的多个元素不成问题。 – Sachin

+0

它是如果他们在相同的形式 –

相关问题