簡體   English   中英

檢查動態選擇的單選按鈕

[英]Check on a dynamically selected radio button

我目前正在使用https://github.com/kflorence/jquery-deserialize和模式運行Bootstrap。 我使用AJAX調用從php文件中獲取表單,並將其添加到HTML表單中,反序列化數據,然后打開模式。 但是,當使用單選按鈕時,我無法使用單獨的jQuery腳本來檢查是否已選中單選按鈕。 使用進行檢查時,始終顯示為false

console.log($('#travel_only2').is(':checked'));

但是,如果我嘗試輸出選擇器本身

console.log($('#travel_only2'));

然后它將顯示為選中狀態。 如何等待無線電檢查,或者還有其他選擇? 謝謝!

更新:而且,我只是試圖在控制台本身中使用$('#travel_only2').is(':checked') ,它顯示為true。

更新:我取消了反序列化插件,並嘗試這樣做:

$.each(this, function(name, val){
var $el = $('[name="'+name+'"]'),
type = $el.attr('type');

switch(type){
    case 'checkbox':
        $el.attr('checked', 'checked');
    break;
    case 'radio':
        $el.filter('[value="'+val+'"]').attr('checked', 'checked');
    break;
    default:
        $el.val(val);
}

}); 不幸的是使用console.log(document.getElementById('travel_only2')。checked); 顯示為false,然后在加載所有內容后鍵入控制台,顯示為document.getElementById('travel_only2')。

最后更新:由於對模板的Ajax調用包含了腳本,因此似乎有所延遲。 相反,我在主腳本中使用$ .getScript來調用模板腳本,並且效果很好。

這只是純JavaScript,請嘗試以下操作:

if(document.getElementById('travel_only2').checked) {
      // radio button is checked
    }

編輯

由於那不起作用,請嘗試以下方法:

 if($('#travel_only2').prop('checked')){
//radio button is check
}

小提琴顯示我正在使用的功能。

http://jsfiddle.net/bgLYL/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM