我没有html经验,也没有java经验,并且在选择选项后尝试显示SVG图像。目前代码在此处,显示gif图像:
<SELECT NAME=SIGN_NFPA onchange=\"
this.form.SIGN_PIC1.selectedIndex = 0;
var id = this.options[this.selectedIndex].value
var lnk = (id) ? 'SignNFPA/'+id+'.gif' : 'images/blank.gif';
window.document.SIGN_PIC1.src = lnk;
return true;
\">
现在我们正在生成文件,并希望用这行代码替换它
<SELECT NAME=SIGN_NFPA onchange='$("img[name=SIGN_PIC1]").prop('src',"SignNFPA?nfpa="+this.value);'>
但我一直收到语法错误,我做错了什么?我知道它应该是onchange中的一个函数,但我的同事说你可以直接输入代码。感谢。
答案 0 :(得分:0)
您的直接问题是围绕&#34; src&#34;的嵌套单引号。这导致它将onchange='$("img[name=SIGN_PIC1]").prop('
视为完整属性,然后是垃圾。
将这些更改为兼容的引号集:
<SELECT NAME=SIGN_NFPA onchange='$("img[name=SIGN_PIC1]").prop("src","SignNFPA?nfpa="+this.value);'>
但这可以理解为更多&#34;标准&#34;像这样:
<SELECT NAME="SIGN_NFPA" onchange="$('img[name=SIGN_PIC1]').prop('src','SignNFPA?nfpa='+this.value);">
但因为你正在使用jQuery ,我强烈建议转向使用jQuery事件处理程序和适当的data-
属性,而不是使用内联处理程序。
e.g。类似下面的内容(没有检查错误 - 只是一个指南)
<SELECT NAME="SIGN_NFPA" \>
$(function(){
$('[name="SIGN_NFPA"]').change(function(e){
var $signpic1 = $('[name="SIGN_PIC1"]')
$signpic1.val(0);
var id = $(this).val();
var lnk = (id) ? 'SignNFPA/'+id+'.gif' : 'images/blank.gif';
$signpic1.attr("src", lnk);
});
});
答案 1 :(得分:0)
在HTML中添加属性时使用引号。特别是价值
<select name="SIGN_NFPA">
<!--options-->
</select>
在jquery中使用event Handler
$(document).ready(function() {
$("select[name='SIGN_NFPA']").change(function() {
$('img[name=SIGN_PIC1]').prop('src', 'SignNFPA?nfpa=' + this.value);
})
});
答案 2 :(得分:0)
原来是因为我引用地狱,可能应该提到这一点,但我对编程比较陌生。我在使用html的perl文件中使用jquery并且$ sign被解释为标量,导致语法错误。同时引用地狱