繁体   English   中英

如何使用单选按钮更改部分网址(ID)?

[英]How to change part of url (ID) using radio button?

我在JSP中通过循环推送了一些单选按钮:

<input type="radio" name="radioBtn" value="<s:property value="#country.getIdCountry()"/>">

单选按钮的值描述了它选择的国家/地区的ID。

然后我创建了一些链接,例如:

<a href='addDefaultPoints.action?countryId=<s:property value="#country.getIdCountry()"/>&height=400&width=350'>Link 1</a>           
<a href='editCountryMap.action?height=550&width=750&id=<s:property value="#country.getIdCountry()"/>&keepThis=true&TB_iframe=true'>Link 2</a>

我想将代码更改为一些动态页面,可以在href中指定的url中更改单选按钮集的onChange事件上的ID。

我尝试使用Javascript来实现此功能,但没有运气。 也许我需要在服务器端执行此操作。 我正在使用JSP,struts,Jquery和Javascript。

这是我尝试过的:

var myGetValue = parseURL("id");
function checkV(f,v){
    for(var i=0;i<c.length;i++){
        c[i].checked=(c[i].value==v)?true:false;
    }
}
checkV(myForm,myGetValue);

你可以写下面的逻辑:

在隐藏输入中创建url,并为county id创建一些常量名称,为相应的锚标记使用相同的类名

<input class="COUNTY_ID" type="hidden" value="addDefaultPoints.action?countryId=COUNTY_ID&height=400&width=350">

<a class="COUNTY_ID" href="#"/>

写单选按钮的更改事件:

$('input[name="radioBtn"]').change(function(){

     var radioVal = $(this).val();
     var url = $('input[class="COUNTY_ID"]').val();

     url = url.replace('COUNTY_ID',radioVal);

     $('a[class="COUNTY_ID"]').attr('href',url);
});

对其他链接也使用类似的逻辑......

HTML

<input type="radio" name="radioBtn" value="1">
<input type="radio" name="radioBtn" value="2" checked>
<input type="radio" name="radioBtn" value="3">
<input type="radio" name="radioBtn" value="4">

<a id="lnk1" href='addDefaultPoints.action?height=400&width=350&countryId='>Link 1</a>           
<a id="lnk2" href='editCountryMap.action?height=550&width=750&keepThis=true&TB_iframe=true&id='>Link 2</a>

JS

$(document).ready(function() {
    var countryId = $('input[name=radioBtn]:checked').val();

    $('a#lnk1').attr('href', $('a#lnk1').attr('href') + countryId);
    $('a#lnk2').attr('href', $('a#lnk2').attr('href') + countryId);
});

说明

首先,您通过检查组radioBtn的已检查 单选按钮获得所选国家/地区。 然后确保您的网址的国家/地区参数位于最后,以便您可以将countryId连接到其余的链接属性“href”。

结果

Link1: addDefaultPoints.action?height=400&width=350&countryId=2

Link2: editCountryMap.action?height=550&width=750&keepThis=true&TB_iframe=true&id=2

如果param不在链接的末尾,那么你可以使用像Bhushan Kawadkar提到的replace()函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM