通过javascript替换aspx页面中节点的值

Replace the value of a node in aspx page via javascript

本文关键字:节点 javascript 替换 aspx 通过      更新时间:2023-09-26

我的aspx页面有以下节点。

<body onload="return window_onload()" onunload="UnRegisterForAllEvents(varDDSC)">
<form>
Select your favorite Color:
<select id="myList">
  <option>red</option>
  <option>yellow</option>  
  <option>blue</option>
</select>
<input id="Submit1" type="submit" value="submit" onclick="favcolor()" />
</form>
      <object name="SVGEmbed" id="svgembd" type="image/svg+xml" align="left" width="100%" height="100%">          
        <param name="src" id="spara" value="VNETSVGLoader/SVGLoader.aspx?SVGFile=<%=Server.UrlEncode(GetFileUrl)%>&onTagClick=onTagClick&hiliteColour=red&backgroundFill=none&tooltipFontsize=13" />       
      </object>
</body>

现在我的要求是我必须从"mylist"中选择一个选项(颜色),并且必须将param的值替换为id"spara"以包含该颜色如下。假设我从mylist中选择了黄色,那么参数节点应该如下所示:

<object name="SVGEmbed" id="svgembd" type="image/svg+xml" align="left" width="100%" height="100%">          
            <param name="src" id="spara" value="VNETSVGLoader/SVGLoader.aspx?SVGFile=<%=Server.UrlEncode(GetFileUrl)%>&onTagClick=onTagClick&hiliteColour=yellow&backgroundFill=none&tooltipFontsize=13" />       
          </object>

我怎样才能做到这一点。请帮忙:)

直接钩入选项列表的change事件:

$('#myList').on('change', function (){
    var paramValue = $('#myList option:selected').text();
    $('#spara').attr('value', 'VNETSVGLoader/SVGLoader.aspx?SVGFile=<%=Server.UrlEncode(GetFileUrl)%>&onTagClick=onTagClick&hiliteColour=' + paramValue + '&backgroundFill=none&tooltipFontsize=13paramValue');
}

如何:

$("#myList").on('change',function(){
    $("#spara").attr('value','VNETSVGLoader/SVGLoader.aspx?SVGFile=<%=Server.UrlEncode(GetFileUrl)%>&onTagClick=onTagClick&hiliteColour='+ $("#myList option:selected").text() +'&backgroundFill=none&tooltipFontsize=13');
});

给你的JSFiddle

首先,param是HTML5元素,所以它不能嵌套在"object"标签中,所以将param与object标签分开。

<param name="src" id="spara" value="VNETSVGLoader/SVGLoader.aspx?SVGFile=<%=Server.UrlEncode(GetFileUrl)%>&onTagClick=onTagClick&hiliteColour=yellow&backgroundFill=none&tooltipFontsize=13" />  

现在运行

$('#myList').on('change', function (){
    var paramValue = $('#myList option:selected').text();
    $('#spara').attr('value', 'VNETSVGLoader/SVGLoader.aspx?SVGFile=<%=Server.UrlEncode(GetFileUrl)%>&onTagClick=onTagClick&hiliteColour=' + paramValue + '&backgroundFill=none&tooltipFontsize=13paramValue');
}