使用jquery切换成功时图标的可见性

时间:2016-01-15 18:07:23

标签: jquery element show hidden

奇怪的是。我有一些dinamically创建的表单,我在其中插入提交按钮附近的唯一ID范围,如下所示:

"<span id=\"successful_insert"+ obj.models[i].id +"\"  style=\"display: none;\" class=\"glyphicon glyphicon-ok\"></span>"

结果是html例如:

<span id="successful_insert466" style="display: none;" class="glyphicon glyphicon-ok"></span>

因此,在这种特殊形式中,我得到id="successful_insert466"

默认情况下隐藏了glyphicon,因此在点击提交后我想要显示图标。 我用:

success: function () {
             $("#" + span).fadeIn("slow");
         }

span是一个我得到的变量:

var form = $(this);
var span = $(form).find('input[name="span_id"]').val();
span = String(span);

关键是glyphicon仍然隐藏,功能不起作用。有什么收获?

3 个答案:

答案 0 :(得分:0)

我认为问题出在以下几行。

declare @ident int =  IDENT_CURRENT( 'SADEV.RO_Transcript.ETQueueCtrl' )

insert into SADEV.RO_Transcript.ETQueueCtrl ([STU_ID],[STU_ORD_SEQ_NUM],[CreatedDate],[LastUpdatedDate],[ETQueueCtrlStatusCd],[ErrorFl])
select STU_ID
      ,STU_ORD_SEQ_NUM
      ,getdate()
      ,getdate()
      ,[ETQueueCtrlStatusCd] = 'N'
      ,'N'

from srdb_sr2_qa.dbo.SR0ROT rt
where STU_ORD_TYP_CD = 'A'
and ORD_DLVY_MTHD_CD = 'ET'
and STU_ORD_STAT_CD = 'C'

--and convert(varchar(1),STU_ORD_XPDT_FL) = @stu_ord_xpdt_fl
and case when @stu_ord_xpdt_fl = 'y' then GETDATE()
                            else case when ORD_PEND_INST_CD = '' then  STU_ORD_SBM_DT+ DATEADD (mi,480,STU_ORD_SBM_TM) 
                                    else  LAST_UPD_DT+ DATEADD (mi,480,LAST_UPD_TM) 
                                 end 
         end <= GETDATE()

select et.ETQueueCtrlID,
       ro.STU_ID,
       ro.STU_ORD_SEQ_NUM,
       ty.CAREER_CD,
       ty.CAREER_SUFX_CD


from SADEV.RO_Transcript.ETQueueCtrl et join srdb_sr2_qa.dbo.SR0ROT ro on et.STU_ID = ro.STU_ID 
                                                      and et.STU_ORD_SEQ_NUM = ro.STU_ORD_SEQ_NUM
                                   left join srdb_sr2_qa.dbo.SR0TYT ty on ro.STU_ID = ty.STU_ID
                                   where et.ETQueueCtrlID > @ident

您应该使用下面的单引号包装var span = $(form).find('input[name="span_id"]').val();

form

答案 1 :(得分:0)

String(span)的目的是什么?我想这可能会把它扔掉。 String(span)正在创建一个字符串对象,而不是字符串文字,所以当你将它添加到$("#" + span)时,我认为它可能会在jQuery选择器中获得比你想要的更多的信息。尝试删除该行,看看会发生什么。

答案 2 :(得分:0)

以下是您的选择器表达式的问题:

find('input[name="span_id"]') - &gt;您正在寻找input类型的元素,其中name属性为'span_id' =&gt;没有这样的元素存在。因此,您要么想要使用id选择器(#successful_insert466)定位元素,要么包含选择器([id=successful_insert466]

$(document).find('span[id=successful_insert466]').fadeIn("slow");

or  $(document).find('#successful_insert466').fadeIn("slow");

示例:https://jsfiddle.net/DinoMyte/ovtajgok/