我有以下的jQuery代碼:jQuery:更改函數沒有被誘導?
$(document).ready(function() {
$('.restrictiveOptions input[type!=checkbox], .restrictiveOptions select').change(function() {
// check off enabled for that row if anything changed
$(this).closest('.fieldRow').find('.restrictiveOptionEnabled').attr('checked','true');
alert('changed');
});
});
然而,當我更改輸入或選擇,什麼都不會發生(甚至沒有警報)!
我已檢查$('.restrictiveOptions input[type!=checkbox], .restrictiveOptions select')
是否正確(通過使用Firebug控制檯並檢查.length,返回484)。 我也確保沒有語法錯誤。
你覺得我做錯了什麼?謝謝!
編輯:我已更新代碼並將$(self)
更改爲$(this)
,但我仍未看到警報。這裏是樣本HTML(抱歉的格式,我說換行,但它是由PHP生成):
<fieldset class="restrictiveOptions"><legend class="collapsable">
<img width="12" height="12" title="Collapse" alt="Collapse" class="toggle" src="branding/default/images/collapse.gif"> Restrictive Options</legend>
<div style="">
<div class="fieldRow">
<div class="label">
<label>Executive</label></div>
<div class="fieldWrapper">
<div class="cellValue">
<select onchange="changeRestrictionValue("event42_41")" id="event42_41_restrictionType" name="event42_41_restrictionType">
<option selected="selected" value="1">is equal to</option>
<option value="2">is not equal to</option></select>
<span id="event42_41_restrictionValue1Wrapper" class="event42_41_restrictionValueWrapper">
<select onchange="validateField(this)" name="event42_41_restrictionValue" id="event42_41_restrictionValue">
<option value="76">Yes</option>
<option value="77">No</option></select></span>
<span style="display: none;" id="event42_41_restrictionValue2Wrapper" class="event42_41_restrictionValueWrapper">
<select onchange="validateField(this)" name="event42_41_restrictionValue1" id="event42_41_restrictionValue1">
<option value="76">Yes</option>
<option value="77">No</option></select> and
<select onchange="validateField(this)" name="event42_41_restrictionValue2" id="event42_41_restrictionValue2">
<option value="76">Yes</option>
<option value="77">No</option></select></span></div>
<div style="float: right;" class="cellValue">
<label for="event42_41_enabled">Enabled?</label>
<input type="checkbox" style="vertical-align: sub; margin: 2px; padding: 0pt;" class="restrictiveOptionEnabled" title="Check me to enable this restrictive option" name="event42_41_enabled" id="event42_41_enabled" value="">
</div></div></div>
您可以發佈隨附的html嗎? – HurnsMobile 2010-07-08 14:09:32
四百八十四!!!! – Pointy 2010-07-08 14:28:21
@HurnsMobile:我做到了,但解決了。不管怎麼說,多謝拉! @Pointy:它是一種形式的動物=)動態創建代碼塊,並且每個代碼都有這個代碼(實際上我只在示例html中顯示一行,其中可能至少有10個)實際上,讓我們做這個數學計算 每行有4個選擇/輸入,每個塊有11行(在我的測試代碼中,但行數也是動態的),目前有11個塊。 11 * 11 = 121,121 * 4 = 484 =) – Garrett 2010-07-08 14:42:50