如果用户未确认,请保留选择标记值

时间:2018-02-21 09:00:43

标签: javascript jquery html ajax

当用户确认时会触发ajax,但如果用户取消确认对话框,则仍然会更改select标记值,但不会触发ajax。我希望像用户取消一样,然后选择标签应该保留它以前的值。 我有这个:

<select name="ss" id="<?=$row['id'];?>" onchange="_changeStatus(this.value,'<?=$row['id'];?>');">
   <option value='Paid'>Paid</option>
   <option value='Verified'>Verified</option>
   <option value='Inprocess'>Inprocess</option>
   <option value='Chargeback'>Chargeback</option>
</select>

而且这个:

function _changeStatus(v,i){
       if(confirm("Sure to Update")){
       $.ajax({
            type: 'post',
            url: 'change-status.php',
            data: {val:v,eid:i,actionid:1},
            success: function (res) {
              if(res!="scr"){
                alert("Unexpected Error, Page will be refreshed !");
                window.location.reload();
              }

            }
          });
     }
    }

2 个答案:

答案 0 :(得分:0)

如果您的表单有多个输入元素,$("uform :input")将返回它们的数组。您已相应地使用索引和设置属性。您可以使用以下内容

$($("uform :input")[0]).attr('disabled', 'disabled');

答案 1 :(得分:0)

你需要在JS中使用正确的选择器 如果udorm是表单的ID而输入是一个标签 -

  

$(“#uform input”)。attr('disabled','disabled');

OR

  

$(“#uform input”)。prop('disabled',true);

请在此处查看有关不同.attr('disabled', 'disabled') or .attr('disabled', true) for disabling input

的信息

还要确保你已经链接了jQuery。 如果不这样做,您可以为input-tag设置ID并通过此

禁用它

EG。输入标签的ID是“loadInput”

  

document.getElementById('loadInput')。disabled = true;