尝试在另一个方法中为控制组调用 .click() 方法。继承人我到目前为止:
$("#list").click(function() {
searchclick = true;
value = $("#listval").text().split(" - ");
window.location.href = "index.html";
item = $("#listval").attr("title");
if (item == "this") {
$("#this").click();
} else {
$("#that").click();
}
});
“#this”和“#that”是控制组中的两个按钮。控制组点击方法初始化如下:
$("#this, #that").click(function(){ ...code... }
有什么帮助吗?
编辑:这是 html 的样子:
<div data-role="content" class="ui-content" role="main">
<div id="item" data-role="fieldcontain">
<fieldset data-role="controlgroup" data-type="horizontal">
<legend>
</legend>
<input id="this" name="choose" value="val1" type="radio"/>
<label for="this">
val1
</label>
<input id="that" name="choose" value="val2" type="radio"/>
<label for="that">
val2
</label>
</fieldset>
</div>
...
最佳答案
这会将当前值发送到服务器,(我想)您拥有处理发送的值并生成正确响应的代码。
注意事项:
searchclick
和value
是全局变量吗?如果是这样,它们将在 #this 和 #that 的点击处理程序中可用,但在提交表单后将丢失。item
是局部变量吗?如果是这样,您应该这样声明:var item = $("#listval").attr("title");
。作为一般规则:除非绝对必要,否则不要创建全局变量。- 下一个代码可能会干扰表单中的其他代码。如果修复其他代码太难,您可以尝试其他选项:不提交表单,而是执行 ajax 调用(请参阅 jQuery 文档了解 here)。
$("#list").click(function() {
searchclick = true;
value = $("#listval").text().split(" - ");
item = $("#listval").attr("title");
if (item == "this") {
$("#this").click();
} else {
$("#that").click();
}
//your controls are inside a form, right?
document.forms[0].submit();
});
关于javascript - 调用控制组的 .click() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14103957/