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

时间:2014-05-20 13:30:47

标签: javascript jquery jsp struts2 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中指定的网址内更改单选按钮集的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);

2 个答案:

答案 0 :(得分:1)

您可以写下以下逻辑:

在隐藏输入中创建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);
});

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

答案 1 :(得分:1)

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

如果参数不是广告链接的末尾,那么您可以使用像Bhushan Kawadkar所提到的replace()函数。