将结果从.html(或innerHtml)输入到inArray并使其工作

时间:2012-05-02 15:16:30

标签: javascript jquery

$("form").submit(function () {
if ($.inArray($("input:first").val().toUpperCase(), ["UNITED STATES", "USA", "AMERICA"]) > -1) {
//function here
});

<div class="answers">"UNITED STATES", "USA", "AMERICA"</div>

$("form").submit(function () {
if ($.inArray($("input:first").val().toUpperCase(),  [$(".answers").html()]) > -1) {  
//function here
});

在具有类答案的div中,我有需要验证的结果。当我使用jquery函数.html时,结果打印出来很好,但是当它验证时需要验证整个句子:“UNITED STATES”,“USA”,“AMERICA”并不是每个答案都像它在第一个函数上那样。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

使用“分割”将您的答案字符串转换为数组。 如果答案没有间隔,可能会更好地工作,例如美国,美国不是美国,美国

$("form").submit(function () {
if ($.inArray($("input:first").val().toUpperCase(), $(".answers").html().split(',')) > -1)
{
    //function here
};

答案 1 :(得分:1)

我不确定这些答案的格式是什么。为什么要将它们输出到HTML而不是JS变量?

什么可行:

var answerarray = $(".answers").text().split(", ");

或(我不确定你的报价):

var answerarray = jQuery.parseJSON("[" + $(".answers").text() + "]"); // ugliest code I've ever written