更新按钮ID

时间:2015-08-07 00:21:37

标签: javascript jquery ajax

我正在尝试使用其他按钮的值更新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传递而不是应该设置的新值

3 个答案:

答案 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。 eEvent

$('.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;