jquery

时间:2017-03-14 13:07:16

标签: jquery html

我在这里有这样的设置:

$(document).on("click", "#updateLocation", function() {
  $('.radio_btn').each(function(index) {
    console.log($(this).val());
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="progressForm">
  <input type="text" readonly="readonly" value="question 1">
  <label><input type="radio" name="isActive[1]" value="1" class="radio_btn">done</label>
  <label><input type="radio" name="isActive[1]" value="0" class="radio_btn">not yet done</label>

  <input type="text" readonly="readonly" value="question 2">
  <label><input type="radio" name="isActive[12]" value="1" class="radio_btn">done</label>
  <label><input type="radio" name="isActive[12]" value="0" class="radio_btn">not yet done</label>

  <input type="text" readonly="readonly" value="question 3">
  <label><input type="radio" name="isActive[35]" value="1" class="radio_btn">done</label>
  <label><input type="radio" name="isActive[35]" value="0" class="radio_btn">not yet done</label>

  <button type="button" id="updateLocation">Update</button>
</form>

如您所见,name-attribute不遵循关于数字索引的特定模式。但是,我有一个单选按钮“OK”和“NOT OK”。由于它们具有相同的名称,因此只能检查其中一个选项。

现在,我想在jQuery中评估这些值。

正如您可能已经看到的那样,这不起作用,因为看起来,DOM(正如预期的那样)会覆盖以前的值。我需要处理每个复选框,因为这两个值都是有效的,需要插入我的数据库中。

如何从单选按钮获取值(无论是否选中)?

假设

  • 检查了radio-button1
  • 未选中radio-button2
  • 检查了radio-button3

在我的each - 函数中,我应该得到值101。也许我只是盲目地看到解决方案,但它对我来说看起来非常基本。

另外,我能以某种方式从当前的迭代复选框中以某种方式获取索引(1,12,35 ..)吗?

1 个答案:

答案 0 :(得分:1)

选择要循环的:checked无线电并使用substring获取索引:

$(document).on("click", "#updateLocation", function() {
    $('.radio_btn:checked').each(function(index) {
        var name = $(this).attr('name');
        console.log(name.substring(name.indexOf('[') + 1, name.length - 1));
        console.log($(this).val());
    });});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="progressForm">
    <input type="text" readonly="readonly" value="question 1">
    <label><input type="radio" name="isActive[1]" value="1" class="radio_btn">done</label>
    <label><input type="radio" name="isActive[1]" value="0" class="radio_btn">not yet done</label>

    <input type="text" readonly="readonly" value="question 2">
    <label><input type="radio" name="isActive[12]" value="1" class="radio_btn">done</label>
    <label><input type="radio" name="isActive[12]" value="0" class="radio_btn">not yet done</label>

    <input type="text" readonly="readonly" value="question 3">
    <label><input type="radio" name="isActive[35]" value="1" class="radio_btn">done</label>
    <label><input type="radio" name="isActive[35]" value="0" class="radio_btn">not yet done</label>

     <button type="button" id="updateLocation">Update</button>
</form>

相关问题