icheck 使用 jquery 设置动态检查复选框或单选按钮

icheck set dynamically checked for checkbox or radio button using jquery

我可以在下面查看哪个按钮被点击或未被点击:

但是我需要做的是 ajax 如果我得到值 'Y' 或 'N' 回调然后设置选中单选按钮。请帮我解决这个问题。

$('input').iCheck({
  checkboxClass: 'icheckbox_minimal',
  radioClass: 'iradio_minimal',
  increaseArea: '20%' // optional
});
$('input[type=radio][name=kitchen]').on('ifChecked', function() {
  if (this.value === "N") {
    alert('No');
  } else {
    alert('Yes');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.2/icheck.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.2/skins/all.css" rel="stylesheet" />
<div class="checkbox">
  <label>Is Kitchen <input type="radio" name="kitchen" value="Y" class="flat"> 
     Yes <input type="radio" name="kitchen" value="N" class="flat"> No
    </label>
</div>

进行 ajax 调用,然后在回调中检查返回的数据并使用 iCheck() 函数检查所需的元素。

示例:

$.get('url', {}, function( data ){
    if ( data === "Y" ){
        $(':radio[name=kitchen][value=Y]').iCheck('check');
    } else {
        $(':radio[name=kitchen][value=N]').iCheck('check');
    }
});

希望对您有所帮助。

$('input').iCheck({
  checkboxClass: 'icheckbox_minimal',
  radioClass: 'iradio_minimal',
  increaseArea: '20%' // optional
});

var data = "N";

if ( data === "Y" ){
    $(':radio[name=kitchen][value=Y]').iCheck('check');
} else {
    $(':radio[name=kitchen][value=N]').iCheck('check');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.2/icheck.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.2/skins/all.css" rel="stylesheet" />
<div class="checkbox">
  <label>Is Kitchen <input type="radio" name="kitchen" value="Y" class="flat"> 
     Yes <input type="radio" name="kitchen" value="N" class="flat"> No
    </label>
</div>