CoffeeScript只执行最后一行

时间:2014-03-12 17:59:55

标签: javascript jquery coffeescript

我有以下coffeescript,手动更改单选按钮的值。如果选择了一个,它会将所选单选按钮设置为true,并将兄弟节点设置为false。

但是,如果我将true语句放在第一位,则此代码始终将单选按钮返回为false,或同时返回true。如何在不相互覆盖的情况下执行两行?

$(".quote_second_mortgage").on 'change', 'input', ->
    $(this)[0].value = "true"
    $(this).parent().first().children(":first-child")[0].value = "false"

JS是

$(".quote_second_mortgage").on('change', 'input', function() {
  $(this)[0].value = "true";
  return $(this).parent().first().children(":first-child")[0].value = "false";
});

已编辑Coffeescript

 $(".quote_second_mortgage").on 'change', 'input', ->
    this.value = "true"
    $(this).parent().first().children(":first-child")[0].value = "false"

HTML,来自Rails app:

<div class="controls">
    <label class="radio">
        <input class="radio_buttons optional" id="quote_escrow_true" name="quote[escrow]" type="radio" value="false">
        <span class="radio-text">hah</span>
    </label>

    <label class="radio">
        <input class="radio_buttons optional" id="quote_escrow_true" name="quote[escrow]" type="radio" value="false">
        <span class="radio-text">hah</span>
    </label>
</div>

1 个答案:

答案 0 :(得分:0)

尝试这样$(@).prop('checked', true)