如何在jQuery移动或单选按钮中点击?

时间:2013-03-13 13:58:17

标签: jquery jquery-mobile radio-button

我有一组使用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自己呈现此内容。那有可能吗?

6 个答案:

答案 0 :(得分:6)

由于jQuery Mobile创建了新的按钮样式,因此必须将click事件绑定到假装为按钮的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');
    });    
});

答案 1 :(得分:1)

我在你的单选按钮中加了一个名字,然后是一些基本的jQuery:

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

将它包装在document.ready中。

答案 2 :(得分:1)

尝试:

$( document ).on( "vclick", "input:radio", function() {
    console.log("click");
});

答案 3 :(得分: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是字段集的ID,#radio-choice-h-2a是触发事件的单选按钮的ID。

答案 4 :(得分: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>

答案 5 :(得分: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");
    }
});