何が間違っているのかわかりませんが、過去 2 時間、prop を使用してボタンの 2 つの項目の値を変更しようとしました。一方では機能しますが、他方では機能しません。その理由はわかりません。
html:
<input type='button' value='Following' id='btnFollow' dataaction="UnFollow" datatype='topic'>
jquery:
$("#btnFollow").prop("value", "Follow");
$("#btnFollow").prop("dataaction", "Follow");
最初の項目は変更されますが ( value
)、2 番目の項目は変更されません ( dataaction
)。理由はわかりません(それ以外の場合は、手遅れで、脳が反抗している可能性があります)。ドキュメントによると、私はそれを正しくやっています。1つが失敗した場合に備えて、各コマンドの間にアラートを追加しましたが、両方のアラートがオフになり、2番目の項目を変更しようとしたときにjqueryがクラッシュしたり、何かが発生したりしませんでした。スペルミスは見られず、コマンドをデイジーチェーン接続しようとしましたが、それでもうまくいきません。
助言がありますか?
全体コード:
$(document).ready(function () {
$('#btnFollow').click(function() {
var topic_id = $(this).attr('datatopic');
var action_type = $(this).attr('datatype');
var action_type_action = $(this).attr('dataaction');
alert(action_type_action);
//$("#btnFollow").prop('value', 'Following');
if (action_type_action == 'Follow') {
$("#btnFollow").prop({'value': 'Following', 'dataaction': 'UnFollow'});
//$("#btnFollow").prop("value", "Following");
//$("#btnFollow").prop("dataaction", "UnFollow");
$.ajax({
type: 'POST',
url: '/follow_modification',
async: false,
data: {
topic: topic_id,
action: action_type_action,
follow_type: action_type
}
//complete: function(xmlRequestObject, successString){
// ymmReceiveAjaxResponse(xmlRequestObject, successString);
//}
});
} else if (action_type_action == 'UnFollow') {
$("#btnFollow").prop({'value': 'Follow', 'dataaction': 'Follow'});
//$("#btnFollow").prop("value", "Follow");
//$("#btnFollow").prop("dataaction", "Follow");
$.ajax({
type: 'POST',
url: '/follow_modification',
async: false,
data: {
topic: topic_id,
action: action_type_action,
follow_type: action_type
}
//complete: function(xmlRequestObject, successString){
// ymmReceiveAjaxResponse(xmlRequestObject, successString);
//}
});
}
})
});