我在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);
答案 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()
函数。