Javascript 使用相同的jQuery函数设置不同html元素类型的值

Javascript 使用相同的jQuery函数设置不同html元素类型的值,javascript,android,jquery,html,Javascript,Android,Jquery,Html,使用Cordova 2.5.0,我使用以下函数获取HTML页面中的所有元素 function getInput() { var formElements = new Object(); $("form :input").each(function(){ formElements[this.name] = $(this).val(); //that's this line }); return formElements; } 实际上,我没有“获取”元素,而是

使用Cordova 2.5.0,我使用以下函数获取HTML页面中的所有
元素

function getInput() {
   var formElements = new Object();
   $("form :input").each(function(){
       formElements[this.name] = $(this).val(); //that's this line
   });
   return formElements;
}
实际上,我没有“获取”元素,而是获取值,正如您在代码段的第四行中看到的

现在,我将尝试稍后在应用程序中设置这些值

function insertResults(data) { //data is a json string
    console.log("in insertResults (JS): " + data);
    var jso = JSON.parse(data);
    for (var key in jso) {
        addContentToElement(key, jso[key]);    
    }
}

function addContentToElement(elementname, valuetoset) {
    $(function() {
        $("input[name='" +elementname +"']").val(valuetoset);
    });
}
console.log()
在insertResults(JS):{“checkbox3”:“,“textfieldmulti1”:“一些文本”,“textfield1”:“更多文本”,“boxed1”:“更多文本”,“checkbox1”:“开”,“checkbox2”:“开”}

上面的代码对于html文本字段非常有效。但是,如果可能的话,我也希望设置复选框等的值,我有点希望
.val(value)
能够做到这一点,毕竟,我可以使用
.val()
检索元素的值,甚至可以从其他元素(如复选框)检索。我不希望检查我想要添加内容的每个元素,而是根据元素类型,使用正确的jQuery方法来设置元素的值

有什么方法可以达到这个目的吗

(再澄清一点:)
addContentToElement(“checkbox3”,“on”)不起作用,尽管我从元素的
.val()
中检索
,但
添加contentToElement(“textfield1”,“some text”)
起作用。我知道我可以用
.prop('checked',true)
,或者
.attr('checked',true)
,但是既然我可以用
.val()
获得值,为什么不设置它呢?

复选框和无线框不能使用“val()”进行检查,因为它们与文本框不同。当您更改“checked”属性以将表单数据发送到服务器、网站等时,它们就会起作用。仅当要更改值(值属性)时,才能使用val()

所以,如果我理解正确,您希望在“addContentToElement”函数获取“on”值时更改复选框。我更改了您的代码,您可以使用下面的代码

function addContentToElement(elementname, valuetoset) {
 $(function() {
     if (valuetoset === "on") {
       $("input[name='" +elementname +"']").attr('checked', true);
     } else {
       $("input[name='" +elementname +"']").val(valuetoset);
     }
 });
}
但是您应该将type发送到函数,以查找复选框中的输入。

因此,简短的回答是:“不,您不能,您应该处理所有不同的元素类型(使用switch语句或其他方法)”?