-1

我在我的网站上使用 PHP、Smarty 和 jQuery。ActuMy smarty 代码片段如下,我想在表单加载时隐藏一个超链接(标签)并根据某些条件显示它。供您参考,我将代码放在下面:Smarty 模板代码如下:

<div class="hor-form w25">
    <ul>
        {assign var='i' value=0}
        {foreach from=$all_subjects item=subjects}
          <li>
             <p class="custom-form"> 
                 <input type="checkbox" name="{$sheet_type}_subject_ids[]" id="{$sheet_type}_subject_{$subjects.subject_id}" value="{$subjects.subject_id}" {if in_array($subjects.subject_id, $subject_ids)}checked="checked"{/if} {if $op=='view'} disabled="disabled" {/if}onChange="get_subject_topics('{$sheet_type}', '{$subjects.subject_id}', '{$pack_id}'); return false;" class="custom-check"  />
                 <label>{$subjects.subject_name}{if in_array($subjects.subject_id, $subject_ids)}<a href="#">View-24</a>{/if}**<a class="view inline" href="#topics_{$subjects.subject_id}">View</a>**</label>
             </p>
            </li>
            {assign var='i' value=$i+1}
        {/foreach}
    </ul>
</div>

我已将要在表单加载时隐藏的标签加粗。现在我的问题是我想让这个链接只在它对应的复选框被选中时才显示,否则它应该被隐藏起来。我尝试了以下 jQuery 脚本,但它对我不起作用。你能帮我解决这个问题吗?提前致谢。

<script>
$(document).ready(function(){
  $(".view").hide();
  $(".{$sheet_type}_subject_{$subjects.subject_id}").is(":checked")(function(){
    $(".view").show();
  });
});

</script>
4

1 回答 1

1

没有检查它,但似乎你试图用类而不是 id 来选择它:

类选择器:

 $(".{$sheet_type}_subject_{$subjects.subject_id}").is(":checked")(function(){

到身份证:

 $("#{$sheet_type}_subject_{$subjects.subject_id}").is(":checked")(function(){

好的,现在我仔细查看了您的代码,它应该是这样的:

if($("#{$sheet_type}_subject_{$subjects.subject_id}").is(":checked")){
    $(".view").show();
}
于 2013-08-09T10:47:44.097 回答