我正在尝试使用其他按钮的值更新ID,这是我现在所拥有的:
$('.viewemployment').on('click', function(e){
var url = '<?php echo Config::get('URL'); ?>dashboard/employment_json/' + this.id;
$.get(url,function(d){
document.getElementById("update_employment").value = this.id;
},'json');
});
以上是有效的,因为我的其余代码(我已删除)正在运行,但设定值不是。这是我试图将值设置为id
的按钮<button type="button" class="btn btn-default waves-effect update_employment" id="update_employment" style="display: none;"><?php echo System::translate("Update Employment"); ?></button>
我想使用此按钮的id来表示ajax请求:
$('.update_employment').on('click', function(e){
$.ajax({
url: "<?php echo Config::get('URL'); ?>/dashboard/update_employment/" + $("input[name='json_name']").val() + "/" +
$("#json_country").find(":selected").text() + "/" + $("input[name='json_start']").val() + "/" + $("input[name='json_end']").val()
+ "/" + $("input[name='json_duration']").val() + "/" + $("input[name='json_description']").val() + "/" + this.id + "/" + "<?php echo System::escape(Session::get('token')); ?>",
cache: false,
success: function(html){
<!-- success !-->
}
});
但是this.id作为update_employment传递而不是应该设置的新值
答案 0 :(得分:1)
我认为更改id
并不是一个好主意,因为随着应用程序的复杂性增加,您很快就会失去对它的追踪。相反,您可以将this.id
的值捕获到变量并使用jQuery的.data()
函数存储它:
$('.viewemployment').on('click', function(e){
var theId = this.id;
var url = '<?php echo Config::get('URL'); ?>dashboard/employment_json/' + theId;
$.get(url,function(d){
$("#update_employment").data("idToQuery", theId);
},'json');
});
然后使用:
访问它$("#update_employment").data("idToQuery")
如果你真的必须更改按钮的id
,你可以通过jQuery的.attr()
功能来实现:
$('#update_employment').attr('id', theId)
答案 1 :(得分:1)
您需要从活动中获取目标的ID。 e
是Event
$('.viewemployment').on('click', function(e){
var url = '<?php echo Config::get('URL'); ?>dashboard/employment_json/' + this.id;
$.get(url,function(d){
document.getElementById("update_employment").value = e.target.id;
},'json');
});
答案 2 :(得分:0)
尝试更改以下行: document.getElementById(“update_employment”)。value = this.id; 至: document.getElementById(“update_employment”)。id = this.id;