[英]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.