调用controlgroupgroup .click()方法

时间:2012-12-31 16:38:25

标签: javascript jquery cordova click

尝试在另一个方法中为控制组调用.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>
            ...

2 个答案:

答案 0 :(得分:0)

这会将当前值发送到服务器,其中(我想)您拥有将处理已发送值的代码并将生成正确的响应。

备注:

  • searchclickvalue全局变量?如果是这样,它们将在 #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();

});​

答案 1 :(得分:0)

我最终将变量设置为Local Variables并在index.html页面中调用它们。在index.html中,我使用了try,catch块来检查页面加载时是否存在局部变量中的任何变量。这是index.html中的代码(在其他页面上点击列表之后:

try{
//grab variables set in search
if(window.localStorage.getItem("searchclick") == "true"){
    searchclick = true; 
}else{searchclick = false}
thisthat = window.localStorage.getItem("thisthat");
if(thisthat == "this"){
    $("#this").click();
    $("#thislabel").addClass("ui-btn-hover-c");
    $("#thislabel").addClass("ui-radio-on");
    $("#thislabel").addClass("ui-btn-active");
}else if(thisthat == "that"){
    $("#that").click();
    $("#thatlabel").addClass("ui-btn-hover-c");
    $("#thatlabel").addClass("ui-radio-on");
    $("#thatlabel").addClass("ui-btn-active");
}
//clear local variables after being used
window.localStorage.clear();

}赶上(ERR){警报(ERR);}