5

我有一组按钮使用jquery mobile

<fieldset data-role="controlgroup" data-type="horizontal" data-mini="true" style="text-align:center">
    <input id="radio1" name="" value="site" type="radio">
    <label for="radio1">
        Site
    </label>
    <input id="radio2" name="" value="transmitter" type="radio">
    <label for="radio2">
        Transmitter
    </label>
    <input id="radio3" name="" value=" channel" type="radio">
    <label for="radio3">
        Channel
    </label>
</fieldset>

我需要在点击或点击时显示弹出窗口并手动显示。问题是它自己jquery mobile渲染了这个内容。那么有可能做到吗?

4

6 回答 6

7

因为 jQuery Mobile 创建了新的按钮样式,所以点击事件必须绑定到伪装成按钮的 span 元素。Fieldset 必须被赋予一个 id 或任何其他标识符,我们将使用它来访问按钮元素。

Click 事件无法绑定到原始单选元素,因为它们具有活动的 css 属性 display: none;

这是一个工作示例:http: //jsfiddle.net/Gajotres/dCEnC/

$(document).on('pagebeforeshow', '#index', function(){       
    $('#custom-fieldset').find('.ui-btn').on('click', function(){      
        $('#popupBasic').popup('open');
    });    
});
于 2013-03-13T15:31:59.603 回答
1

我会在您的单选按钮中添加一个名称,然后是一些基本的 jQuery:

$('input[name="myRadioName"].click(function() {
    alert('You clicked' + $(this).val());
}

当然,将它包装在 document.ready 中。

于 2013-03-13T14:04:33.987 回答
1

jQueryMobile 1.4.1

从所有解决方案中发现没有一个对我有用,除了这个:

$('#myFieldset').find('[type="radio"]').on('click', function( event ){    

        console.log("Yes");

        if ($(this).attr("id") == "radio-choice-h-2a") { // do something... } 
        else { // do something else...}

    });

其中#myFieldset是字段集#radio-choice-h-2a的 id 和触发事件的单选按钮的 id。

于 2014-02-28T09:19:13.773 回答
1

尝试:

$( document ).on( "vclick", "input:radio", function() {
    console.log("click");
});
于 2013-03-13T14:08:04.593 回答
0

我已经解决了你的问题

看看我的小提琴

http://jsfiddle.net/nikhilagrawal60/hB4CF/

<a href="#popupBasic" data-role="button" data-rel="popup">Reject & SMS</a>
<div data-role="popup" id="popupBasic" data-theme="c" class="ui-corner-all">
    <form>
        <div style="padding: 10px 20px;">
                <h3>Please enter reason</h3>

            <label for="un" class="ui-hidden-accessible">Reason:</label>
            <textarea cols="40" rows="8" name="textarea" id="un" data-theme="c" placeholder="Reason"></textarea>
            <button type="submit" data-theme="c">Ok.</button>
        </div>
    </form>
</div>
于 2013-03-13T14:13:12.607 回答
0
<fieldset data-role="controlgroup" data-type="horizontal" id="custom-fieldset">            
        <label for="utilPlayBtn">Record</label>
        <input type="radio" name="rbtn" id="utilPlayBtn" value="rb1" checked="checked"/>
        <label for="utilRecordBtn">Play</label>
        <input type="radio" name="rbtn" id="utilRecordBtn" value="rb2"/>
</fieldset>  

$('#custom-fieldset').click(function() {                                          
    if ($("#utilPlayBtn").is(":checked")) {
       alert("PlayChecked");
    }else{
       alert("PlayNotChecked");
    }
});
于 2016-01-11T18:40:45.487 回答