我想知道是否有人有使用转换 html 的 JQuery 插件的经验
<select>
<option> Blah </option>
</select>
将组合框放入某个东西(可能是一个 div)中,其中选择一个项目的行为与单击一个链接相同。
我想您可能可以使用 javascript 来处理选择事件(我的 javascript 知识目前有点年久失修)并“切换”组合框的值,但这似乎更像是一种黑客行为。
感谢您的意见、经验和建议。
我想知道是否有人有使用转换 html 的 JQuery 插件的经验
<select>
<option> Blah </option>
</select>
将组合框放入某个东西(可能是一个 div)中,其中选择一个项目的行为与单击一个链接相同。
我想您可能可以使用 javascript 来处理选择事件(我的 javascript 知识目前有点年久失修)并“切换”组合框的值,但这似乎更像是一种黑客行为。
感谢您的意见、经验和建议。
简单的解决方案是使用
$("#mySelect").change(function() {
document.location = this.value;
});
这会在选择框上创建一个 onchange 事件,将您重定向到存储在所选选项的 value 字段中的 url。
当您单击 Div 时,我不确定您想要链接到哪里,但考虑到这样的事情可能会起作用:
<select id="mySelect">
<option value="1">Option 1</option>
<option value="2">Option 2</options>
</select>
<div id="myDiv"/>
下面的 JQuery 创建一个<div>
元素列表,a 根据选项的值转到一个 URL:
$("#mySelect option").each(function() {
$("<div>" + $(this).text() + "</div>").appendTo($("#myDiv")).bind("click", $(this).val(), function(event) {
location.href = "goto.php?id=" + event.data;
});
});
$("#mySelect").remove();
这是做你想做的吗?
如果您要允许将许多选择框用作重定向,而不必单独定义它们,请尝试类似以下的操作:
$("[id*='COMMON_NAME']").change(function() {
document.location = this.value;
});
并相应地命名您的选择框:
<select id="COMMON_NAME_001">...</select>
<select id="COMMON_NAME_002">...</select>
这会为所有包含“COMMON_NAME”的 ID 创建一个 onchange 事件,以重定向该<option>
值。
'选择'中的这段javascript:
onchange="if(this.options[this.selectedIndex].value!=''){this.form.submit()}"
这并不理想(因为我正在使用的 ASP.NET MVC 中的表单提交似乎没有使用 URL 的路由引擎)但它可以完成它的工作。