使用Jquery用输入隐藏值替换图像src

时间:2009-11-30 09:44:36

标签: jquery

我的下面输入隐藏了值=“/ fr / images / findacourse_logo_tcm10-268.gif”。

<input type="hidden" id="Qt_Email_Image" value="/fr/images/findacourse_logo_tcm10-268.gif"/>

我在下面有另一个输入图像,其中src =“/ images / quote / Quote_Email_Button.JPG”

<tr>
    <td>
         </td>
    <td colspan="2" class="">
        <input type="image" border="0" alt="Email me this quote " src="/images/quote/Quote_Email_Button.JPG" id="Quote_btnEmail" name="Quote:btnEmail"/>
    </td>
</tr>

现在我想在运行时将输入图像src替换为上面的输入隐藏值,并在src中显示上面的图像而不是图像链接。所以我的上面的HTML变成了

<tr>
    <td>
         </td>
    <td colspan="2" class="">
        <input type="image" border="0" alt="Email me this quote " src="/fr/images/findacourse_logo_tcm10-268.gif" id="Quote_btnEmail" name="Quote:btnEmail"/>
    </td>
</tr>

我想将Jquery用于上述解决方案,请提出建议!

感谢。

3 个答案:

答案 0 :(得分:3)

请注意,当您像这样替换图像时:

$('#Quote_btnEmail').attr('src', $('#Qt_Email_Image').attr('value'))

然后删除当前图片“Quote Email Button.JPG”,然后加载新图像“findacourse logo tcm10-268.gif”然后显示。因此,如果加载部分需要一段时间,那么用户将看到闪烁。

为避免这种情况,您可以先加载“findacourse logo tcm10-268.gif”,然后立即显示给用户:

var img = new Image();
$(img).load( function () {
    $('#Quote_btnEmail').attr('src', img.src);
});
img.src = $('#Qt_Email_Image').val();

答案 1 :(得分:1)

$('#Quote_btnEmail').attr('src', $('#Qt_Email_Image').val());

这就是你需要的吗?

答案 2 :(得分:0)

这应该适合你:

$('#Quote_btnEmail').attr('src', $('#Qt_Email_Image').attr('value'))