3

我使用此站点上的所有有用答案来尝试构建一个 jquery 脚本来选择单选按钮,但由于某种原因它们不起作用。难道我做错了什么?为了简单起见,我从第一格开始。

我在下面附上了 php 生成的表单生成的格式。我尝试了多个浏览器,但无法获得任何按钮来选择任何内容。是否有一些我没有考虑到的复杂性?该页面是一个.php页面,表单是用php生成的。

很抱歉这个基本问题 - 任何帮助将不胜感激。不确定它是否相关,但我希望这些按钮可以在移动设备和各种浏览器上使用。

表格代码:

    <form class="form-horizontal" method="get" action="submit.php" name="form">
    <div class="control-group">
        <div class="row-fluid">
            <div class="span2"></div>
            <div class="span8">
                <label class = "control-label" for="input1"> foreign policy </label>

                <div class="controls">
                    <label class="checkbox inline"><input type="radio" name="group1" id="1_l" value="1_l"> Liberal</label>
                    <label class="checkbox inline"><input type="radio" name="group1" id="1_m" value="1_m"> Moderate</label>
                    <label class="checkbox inline"><input type="radio" name="group1" id="1_c" value="1_c"> Conservative</label>
                </div>
            </div>
        </div>

        <div class="row-fluid">
            <div class="span2"></div>
            <div class="span8">
                <br>
                <center><button type="submit" class="btn btn-danger btn-large">Generate</button></center>
            </div>
            <div class="span2"></div>
        </div>
</form>

jQuery代码:

$('button').click(
function() {
    $('#1_l').attr('checked', true);
}
);
4

3 回答 3

1

使用 jQuery 中的 ":checked" 选择器来选择选中的输入,否则只会得到第一个。

$(function () {

    $('button.btn').click(function () {
        var $box = $('.checkbox input:checked');
        if ($box.length > 0)
            alert($box.val());
    });

});​
于 2012-10-02T18:12:54.583 回答
1

确保仅在加载 DOM 后绑定处理程序:

$(function() {
  $('button').click(function() {
    $('#1_l').attr('checked', true);
  });
});
于 2012-10-02T18:09:14.707 回答
0

这是我看到的你有一个没有关闭的 div 我关闭了它

我将按钮类型更改为按钮而不是提交,所以我可以看到它工作并且一切都很好

看我的工作演示

<form class="form-horizontal" method="get" action="submit.php" name="form">
    <div class="control-group">
        <div class="row-fluid">
            <div class="span2"></div>
            <div class="span8">
                <label class = "control-label" for="input1"> foreign policy </label>

                <div class="controls">
                    <label class="checkbox inline"><input type="radio" name="group1" id="1_l" value="1_l"> Liberal</label>
                    <label class="checkbox inline"><input type="radio" name="group1" id="1_m" value="1_m"> Moderate</label>
                    <label class="checkbox inline"><input type="radio" name="group1" id="1_c" value="1_c"> Conservative</label>
                </div>
            </div>
        </div>

        <div class="row-fluid">
            <div class="span2"></div>
            <div class="span8">
                <br>
                <center><button type="button" class="btn btn-danger btn-large">Generate</button></center>
            </div>
            <div class="span2"></div>
        </div>
    </div>
</form>​

这是jQuery

$(function () {
    $('button').click(function() {
        $('#1_l').attr('checked', true);
    });​
}
于 2012-10-02T18:19:32.870 回答