2017-09-26 201 views
0

我想从选定的下拉列表中删除选项,为此,我创建了removeValue()函数,但未按预期工作。将变量赋值给选项值

我调试了代码,发现[value = removeid]。 var removeid在这里没有按预期工作。

JavaScript函数removeValue

function removeValue() { 
    var removeid = $('#transaction_user_account_id').val() 
    alert(removeid); // I am getting my ID here 
    $("#transaction_transfer_account_id option[value=removeid]").remove(); 
}; 

如果我给一个恒定值,像值=“21”,然后工作正常,但是当我给你我的瓦尔removeid到选项[值= removeid。它停止工作。

我该如何做这项工作?

+0

为什么你期望一个变量在一个字符串内被扩展? – Barmar

+0

这个链接似乎是你的问题的答案。 [清除选择中的所有选项](https://stackoverflow.com/questions/3364493/how-do-i-clear-all-options-in-a-dropdown-box)Th –

回答

1

这是因为您使用removeid作为字符串,而不是作为变量。试试这个:

$("#transaction_transfer_account_id option[value=" + removeid + "]").remove(); 

或者你想成为所有花哨的裤子ES6使用template literal

$(`#transaction_transfer_account_id option[value="${removeid}"]`).remove(); 
0
$("#transaction_transfer_account_id option[value=removeid]").remove(); 

上述声明似乎是错误的。

'removeid'在这里是一个变量,但在上面的语句中它不被视为相同。它应该被重写为

$("#transaction_transfer_account_id option[value=" + removeid + "]").remove();