2013-06-04 60 views
1

使用jquery mobile。 所以我有一個函數調用一個按鈕點擊創建複選框並將它們插入到一個div中。 他們顯示和功能正常,但不像我的按鈕樣式主題像項目中的其他一切。如果我只是在div中手動輸入html。然後造型是正確的。但是,如果我通過jquery插入它們,不是。我錯過了什麼。插入Jquery Mobile複選框並且不顯示主題

var html = '<fieldset data-role="controlgroup">'; 
     html += '<label for="radio-choice-01">First Name</label><input name="radio-choice-0" id="radio-choice-01" type="radio" data-theme="a">'; 
     html += '<label for="radio-choice-02">Second Name</label><input name="radio-choice-0" id="radio-choice-02" type="radio" data-theme="a">'; 
     html += '</fieldset>'; 
     $("#names_content").html(html); 

$("input[name=namechoice]:radio").change(function(){ 
    var tempVal = $('input:radio:checked').val(); 
    alert("clicked"); 
    console.log(tempVal); 
}); 
+0

「如果我只是在div中手動輸入html,那麼樣式是正確的」...您可以發佈這個正確的HTML/CSS? – carrabino

回答

2

您需要手動enhace其標記:

$('[type="radio"]').checkboxradio(); 

或使用:

$("#names_content").trigger('create'); 

工作例如:http://jsfiddle.net/Gajotres/HPSCb/

$(document).on('pagebeforeshow', '#index', function(){ 
var html = '<fieldset data-role="controlgroup">'; 
     html += '<label for="radio-choice-01">First Name</label><input name="radio-choice-0" id="radio-choice-01" type="radio" data-theme="a" checked="checked" value="1">'; 
     html += '<label for="radio-choice-02">Second Name</label><input name="radio-choice-0" id="radio-choice-02" type="radio" data-theme="a" value="2">'; 
     html += '</fieldset>'; 
     $("#names_content").html(html);  
     $("#names_content").trigger('create'); 

    $(document).on('change',"input[name=radio-choice-0]:radio",function(){ 
     var tempVal = $('input:radio:checked').val(); 
     alert(tempVal); 
     console.log(tempVal); 
    }); 
}); 

每一個動態添加的內容必須通過電子郵件nhanced。有幾種解決方案,你可以找到它們here

+0

呃!就是這樣!我會盡快給你答案,只要它讓我。謝謝! – SeeleyBoothe

+0

np m8我很樂意幫助你:) – Gajotres

+0

你的兩個例子都很好用,並且它們都顯示出來。現在我無法讓更改事件觸發。我已更新我的第一篇文章以顯示更改事件。 – SeeleyBoothe