我有一個下拉jQuery的設置動態下拉值
<select id="DropdownId" label="condition " ></select>
下面是代碼,從我在哪裏填充值到下拉:我想設置一個值
var request = $.ajax({'url': '/getDropdownValues'});
request.done(function(response)
{
response = JSON.parse(response)
var processbyList=[];
$.each(response, function(index, element) {
processbyList.push(element.processby);
});
$("#DropdownId").select2({
data: processbyList
});
});
request.fail(function(jqXHR, textStatus)
{
alert('Request failed: ' + textStatus);
});
內部下拉菜單。 如何使用jQuery設置下拉值?
這裏'responseitem'是我從某些ajax調用中獲得的值,我希望將此值設置爲下拉菜單。
我一直在使用
1. `document.getElementById("DropdownId").value = responseitem;`
2. `$('#DropdownId').val(responseitem);`
嘗試,但沒有爲我工作。我錯過了什麼或者我錯了什麼?如何實現這一目標?
編輯:
在按鈕單擊事件,我創建裏面,這個下拉是一個在它的一列的表。
function onButtonClick(){
// to fill values in dropdown
var request = $.ajax({'url': '/getDropdownValues'});
request.done(function(response)
{
response = JSON.parse(response)
var processbyList=[];
$.each(response, function(index, element) {
processbyList.push(element.processby);
});
$("#DropdownId").select2({
data: processbyList
});
});
request.fail(function(jqXHR, textStatus)
{
alert('Request failed: ' + textStatus);
});
//this is again inside an ajax call
var requestRegex =$.ajax({url:'/Info',
data:"FieldName="+responseitem[0],
processData: true,
contentType: "application/json",
dataType: "json",
});
requestRegex.done(function(responseRegex)
{
var panel=document.createElement("panel");
var h = '<div class="panel panel-default" >';
h += '<div class="panel-heading fixed-panel">';
h +='<h3 class="panel-title">'+responseitem[0]+'</h3>';
h +='<span class="pull-right clickable"></span>';
h += '</div>';
h +='<div class="panel-body">';
h += '<div class="table-responsive">';
h +='<table id="' +"albums"+ '" cellspacing="0" class="table-bordered table-hover specialCollapse>';
h +='<thead></thead>';
h +='<tbody id="' +"tbody"+ '">';
h +='<tr>';
h +='<td><h4><bold>Process By</bold></h4></td>';
//h +='<td id="' +"processBy"+ '"><textarea class="form-control" rows="1" style="max-width: 30%;">'+ responseitem[2] + '</textarea></td>';
h +='<td id="' +"processBy"+ '"><select id="DropdownId" style="width:200px;" value="' +responseitem[2]+ '" ></select></td>';
h +='</tr>';
h +='</tbody>';
h +='</table>';
h += '</div></div>';
panel.innerHTML = h;
$("#DropdownId").select2();
$("#DropdownId").val(responseitem[2]).trigger("change");
});
request.fail(function(jqXHR, textStatus)
{
alert('Request is failing: ' + textStatus);
});
}
編輯:
document.getElementById("DropdownId").value=responseitem[2];
這顯示在控制檯正確的輸出:
document.getElementById("processbyDropdownId").value=responseitem[2];
>>>"page"
在jQuery的UI.I
但不是不想刷新我的整個頁面。我只是想刷新,只有下拉值刷新。
我試圖在你所提供的鏈接中給出的每個答案,但沒有人在工作我的情況。 ('#DropdownId')。val(responseitem).trigger('change');' ''('#DropdownId')。selectmenu()。selectmenu('refresh',true);' ''' '' ' $( '#DropdownId')VAL(的ResponseItem).change()。 ' '$('#DropdownId')。val(responseitem).trigger('change.select2');' '$(「#DropdownId」)。select2(「data」,{id:1,text (); responseitem});' '$(「#DropdownId」)。select2()。select2(「val」,responseitem);' '$(「#DropdownId」)。 $(「#DropdownId」)。val(responseitem).trigger(「change」);' 這些我都試過:( –
@ujjawlsaini請將'console.log(response)'添加到'.done'函數並把結果在你的問題,我敢肯定我提到的解決方案,我用'select2'之前。 –
@ujjawlsaini我更新了我的答案,檢查演示Codepen –