我正試圖建立一個窗體,禁用用戶從菜單中選擇隱藏字段。在一開始,我可以很容易地禁用所有字段,並且當用戶選擇不同的選項時,我可以重新啓用特定的字段。但是,我需要能夠重新禁用所有字段,當用戶點擊「更改位置」,但我根本無法得到這個工作!jQuery - 無法更新隱藏的輸入屬性
這是我的代碼到目前爲止...我的代碼背後的目的可能不完全清楚,因爲它是爲了清晰的目的而大量編輯,但其他各種不相關的事情發生。我只想說,這是我需要做的:)
的jQuery:
$('input[name="hosted_button_id"]').attr("disabled",true);
$('#changelocation').click(function(){
$('input[name="hosted_button_id"]').attr("disabled",true);
});
$('.deliveryselection').change(function(){
var deliveryLocation = $(this).val();
$('input[title="' + deliveryLocation + '"]').removeAttr("disabled");
});
HTML:
<select class="deliveryselection">
<option>Please select</option>
<option value="UK">UK</option>
<option value="Europe">Europe</option>
<option value="North America">North America</option>
<option value="Rest of World">Rest of World</option>
</select>
<a href="javascript:void(0)">Change location</a>
<form>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="button" name="hosted_button_id" title="UK" value="UK"><br />
<input type="button" name="hosted_button_id" title="Europe" value="Europe"><br />
<input type="button" name="hosted_button_id" title="North America" value="North America"><br />
<input type="button" name="hosted_button_id" title="Rest of World" value="Rest of World"><br /><br />
<input type="submit" name="submit">
</form>
我已經有這個成立於一jsfiddle here:http://jsfiddle.net/solomon/rS7nV/1/
編輯 我想我已經發現了這個問題。在我的實際代碼中,我一直在處理隱藏的字段,而不是按鈕字段,所以我無法直接看到我的勞動成果 - 我一直在使用Firebug來確定隱藏字段的禁用狀態。只有在使用jsfiddle的同時將它們轉換爲按鈕,我才發現我的代碼工作正常(除了我在刪除ID時犯的一個小學生錯誤......感謝您的幫助!)。事實證明,Firebug並沒有更新其報告,並且仍然告訴我這些字段在他們不是時是禁用的 - 儘管我的代碼工作得很好!這有點令人沮喪 - 我的整個下午浪費了一個Firebug的bug! :)
沒關係 - 這一切都是固定現在:)
你可以使用'.prop('disabled',true_or_false)' - 不需要處理字符串屬性。 – ThiefMaster 2012-04-16 14:26:21