根据服务器响应设置复选框

时间:2014-08-21 15:20:13

标签: javascript jquery checkbox

用户可以选中/取消选中一个复选框,然后将其值保存到DB中:

<input type="checkbox" value="open" name="timeFormat[]" id="isCheckedFormat" checked>

保存为:{TimeFormat': [u'open']}

当我将此调用回浏览器时,console.log()显示为:“[u'open']”

JSFiddle中,我尝试使用它来设置用户首选设置,但这并未设置复选框以进行检查。

var x=[u&#39;open&#39;];

if (x=='open'){
    $('#isCheckedFormat').prop('checked', true);
}else{
$('#isCheckedFormat').prop('checked', false)
}

如何设置复选框。我是否需要在“打开”之前和之后删除所有字符....怎么可能这样做?

3 个答案:

答案 0 :(得分:1)

尝试检查字符串是否包含单词open,例如......

var x="[u&#39;open&#39;];"
$('#isCheckedFormat').prop('checked', x.contains('open'));

答案 1 :(得分:1)

我不确定您是如何发送回复的。但这对你有用:

if(x.indexOf("open") > -1)
  $('#isCheckedFormat').prop('checked', true);
else
  $('#isCheckedFormat').prop('checked', false);

答案 2 :(得分:1)

您可以使用正则表达式:

$('#isCheckedFormat').prop('checked', /open/.test(x));

您也可以使用.indexOf

$('#isCheckedFormat').prop('checked', x.indexOf("open") != -1);