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

时间:2014-05-21 09:07:44

标签: javascript jquery

我的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>

现在我的要求是我必须从&#34; mylist&#34;中选择一个选项(颜色)。并且必须用id&#34; spara&#34;替换param的值。包含那种颜色 如下所示。假设我从mylist中选择了黄色,那么param节点应如下所示。

<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>

我怎样才能实现这一点。请帮助:)。

3 个答案:

答案 0 :(得分:0)

怎么样:

$("#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');
});

A JSFiddle for you

答案 1 :(得分:0)

只需挂钩选项列表的更改事件:

$('#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');
}

答案 2 :(得分:0)

首先,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');
}

我亲自测试过它的工作。