屬性我有一個數據屬性的按鈕:無法設置bollean值數據與jquery
<button id="manageEditContract" type="button" class="btn btn-default" data-is-allow-to-edit="@(Model.Contract.IsAllowToEdit)">
@(Model.Contract.IsAllowToEdit ? "Block" : "Unblock")
</button>
當用戶點擊我想要的按鈕來更改其屬性。由於我的操作方法返回的JSON對象具有兩個屬性「ISOK」和「IsAllowToEdit」,我寫了這個功能:
$('#manageEditContract').on('click', function() {
var isAllowToEdit = $(this).data('isAllowToEdit');
$.ajax({
url: '@Url.Action("ChangeEditOption")',
type: 'POST',
data: { isAllowToEdit: isAllowToEdit },
success: function (data) {
if (data.IsOk) {
$('#manageEditContract').data('isAllowToEdit', JSON.stringify(data.IsAllowToEdit));
}
}
});
});
但它沒有改變。
我試着用JSON.stringify,沒有它沒有運氣。
UPDATED: 由於答案建議我應該使用「attr」將值設置爲特定屬性。但我也意識到,當我獲得data屬性的值時,我不應該使用「data」,因爲它始終是相同的。看起來像「數據」屬性緩存數據。 所以,與其
var isAllowToEdit = $(this).data('isAllowToEdit');
我應該使用:
var isAllowToEdit = $(this).attr('data-isAllowToEdit');
而且JSON.stringify沒有必要在我的情況下使用。
* bollean =布爾 – evolutionxbox
什麼是控制檯輸出,如果你做'如果(data.IsOk){執行console.log(數據); }'data.IsAllowToEdit'屬性是否存在,並且定義了值? – loelsonk
是的,它存在。我更新了我的答案。謝謝你的幫助! –