2017-10-28 98 views
1

我有兩個fancybox對話框,當我點擊複選框標籤時第二個對話框打開。當第二個選擇值發生變化時,在第一個fancybox上勾選複選框

我想要的是第二個對話框,當選擇值被改變,然後在第一個對話框複選框應該被選中。

我該如何做到這一點?

這裏是我的代碼,我想:

$("#fancybox-manual-c").click(function() { 
    $.fancybox.open([{ 
     src : '<div class=\'col-md-3\'><div class="checkbox checkbox-success" onclick="javascript:get(this);">'+ 
'<input id="checkbox1" type="checkbox" class="styled" value="" onclick=""> '+ 
'<label for="checkbox1"><a data-fancybox-next class="button-next" href="#">ONE</a></label>'+ 
'</div></div>', 
     type : 'html', 
     smallBtn : true 
    }]); 
}); 

this.get = function(t){ 
    //$(t).find('input#checkbox1').attr('checked', true); 
    $.fancybox.open([{ 
     src: '<div class="col-md-3"><div class="checkbox checkbox-success"><select onchange="\''+t+'\'.find(\'input#checkbox1\').attr(\'checked\', true);"><option value="Unclassified">False</option><option value="">true</option></select></div></div>', 
     type : 'html', 
     smallBtn : false 
    }]); 
} 

請注意,我要手動打開的fancybox像上面。

任何幫助表示讚賞。謝謝。

CodePen

回答

1

這是一個不好的做法,使用內聯JS代碼。簡單地創建對象,結合事件,然後顯示:

var $src = $('<div class="col-md-3"><div class="checkbox checkbox-success"><select><option value="0">False</option><option value="1">true</option></select></div></div>'); 

$src.find('select').on('change', function() { 
    $('#checkbox1').prop('checked', this.value == 1 ? true : false); 
}); 

$.fancybox.open({ 
    src : $src, 
    type : 'html', 
    smallBtn : true, 
    toolbar : false 
}); 

https://codepen.io/anon/pen/WXNLmX?editors=1010

+0

感謝。還有一件事。我怎麼能在標題中使用這個'src'對象? – Snappy

+1

嗯,現在,標題可以只是字符串,但你可以使用回調來更新標題https://codepen.io/anon/pen/pdvNxY?editors=1010 – Janis

相關問題