我一直試圖讓這段代碼工作,一切看起來都正確,但我無法獲取attr - 「disabled」被刪除。該按鈕最初禁用,但隨後填充字段時,「其他」部分不會觸發。我認爲這應該在每次「更改」後執行,但似乎沒有正確循環輸入。Rails,Coffee,jQuery - removeAttr不工作
static_pages.js.coffee ---
jQuery ->
$("#gradesModal :input").on('keypress', ->
empty = false
$("#gradesModal :input").each ->
empty = true if $(this).val() is ""
if empty
$("#add-grade").attr "disabled", "disabled"
else
$("#add-grade").removeAttr "disabled"
)
HTML ---
<div class="form-horizontal">
<div class="control-group integer optional grade_student_id"><label class="integer optional control-label" for="grade_student_id">Student</label><div class="controls"><input class="numeric integer optional" id="grade_student_id" name="grade[student_id]" step="1" type="number" /></div></div><br />
<div class="control-group integer optional grade_lesson_id"><label class="integer optional control-label" for="grade_lesson_id">Lesson</label><div class="controls"><input class="numeric integer optional" id="grade_lesson_id" name="grade[lesson_id]" step="1" type="number" /></div></div><br />
<div class="control-group select optional grade_score"><label class="select optional control-label" for="grade_score">Score</label><div class="controls"><select autofocus="autofocus" class="select optional" id="grade_score" name="grade[score]"><option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option></select></div></div><br />
<div class="control-group text optional grade_comment"><label class="text optional control-label" for="grade_comment">Comment</label><div class="controls"><textarea class="text optional" cols="40" id="grade_comment" name="grade[comment]" rows="2"></textarea></div></div>
<input class="btn" id="add-grade" name="commit" type="submit" value="Create Grade" />
</div>
編譯JS
jQuery(function() {
return $("#gradesModal :input").on('keypress', function() {
var empty;
empty = false;
return $("#gradesModal :input").each(function() {
if ($(this).val() === "") {
empty = true;
}
if (empty) {
return $("#add-grade").attr("disabled", "disabled");
} else {
return $("#add-grade").removeAttr("disabled");
}
});
});
});
我做了一些更改,它仍然顯示刪除屬性仍然無法正常工作。由於它被標記爲
你的HTML是什麼樣的? 「不工作」是什麼意思?你是否已經通過調試器遍歷代碼或者添加了一對'console.log'調用來觀察它在做什麼? –
將html.erb更新爲HTML。通過不工作,我的意思是它禁用更改,然後在填充字段後不刪除禁用。我仔細檢查了最後一個領域也失去了重點。我用控制檯進行了調試,它看起來像是唯一沒有執行的是條件的「其他」部分。 –