我有一些使用复选框的代码:
input type="checkbox" onclick="location.href='test-launch.cfm?Code=7&After=8&OrderOn=9
选中此复选框后,它会重新加载我的页面,但这就是我的问题所在。当我选择传递不同值的不同复选框时(下面的顺序是与上面不同的值):
input type="checkbox" onclick="location.href='test-launch.cfm?Code=7&After=8&OrderOn=5
页面重新加载,不再显示任何 orderOn = 9
的数据,仅显示 OrderOn = 5
的数据。我希望“多重选择”能够与 location.href
一起使用。有没有更好的方法来处理这个问题,因为 location.href
是“多重选择”。
最佳答案
我认为这段代码可以满足您的要求。
您的网址会随着您选中的框增多而增加。您不需要在字段名称中使用 []
,ColdFusion 会自动将相同参数名称的查询字符串值转换为以逗号分隔的值列表。我认为最新版本有一些标志可以自动将列表转换为数组。
此代码仅提交到同一页面。只需更改表单操作的值即可将其发布到其他地方。
http://127.0.0.1/test/reload.cfm?whatever=2&whatever=4&whatever=6&whatever=8&whatever=10
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script>
$(document).ready(function(){
$('.clickMe').on('click', function() {
$('#foo').submit();
});
});
</script>
<cfparam name="url.whatever" type="string" default="" />
<form name="foo" id="foo" action="" method="get">
<cfoutput>
<cfloop from="1" to="10" index="x">
<cfset checked = false />
<cfif listFindNoCase(url.whatever, x)>
<cfset checked = true />
</cfif>
<label for="whatever_#x#"><input type="checkbox" name="whatever" id="whatever_#x#" class="clickMe" value="#x#" <cfif checked>checked="checked"</cfif>>#x#</label><br />
</cfloop>
</cfoutput>
</form>
<cfdump var="#url#" />
关于javascript - HTML/JS/Coldfusion - 可以在 location.href 上进行多选吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36164034/