2017-06-16 48 views
0

我動態添加選擇標籤,並附加從數據從服務器,並在下拉我必須把所選擇的數據在文本框的變化正在添加選項,下拉更改事件不工作的一個選項,在下拉

但是,如果只有一個選擇onchange事件將無法正常工作,應該怎麼辦,請幫助

我的問題將更加清楚通過下面的例子

var dynamicHtmlDisplay = "<input type=\"button\" Value=\"" + strAf_Manual + "\" class=\"btnAddManual\" /> </br>" 

    dynamicHtmlDisplay += "<select class=\"Test form-control\"><option>--</option></select>" 

和服務器的呼叫後,我感到FILLIN下拉

$('.Test').empty(); 
    $.each(Result, function (i, p) { 
     $('.Test').append($('<option></option>').val(JSON.stringify(p)).html(p.Text)); 
    }); 

文件及變更事件,我在一個文本框

$(".Test").change(function() { 
     var selectedObject = JSON.parse($('option:selected', this).val()) 
}); 

進入選定的文本,但如果只有一個值是存在於dropdown我的變化不工作有什麼,而不是onchange事件一樣,東西像onselect事件。

+0

你如何添加一個沒有值的選項「選擇一個選項」。這也會提高可用性 –

+0

如果在這個過程中還不算太晚,也許你可以綁定到'blur'而不是'change'。這將在用戶離開該字段時觸發,而不管他們是否改變了他們的選擇或選項的數量。 –

回答

0

你可以從文檔https://api.jquery.com/change/

只有當你改變下拉工程價值的閱讀,是隻有一個你沒有「改變」它的價值。

一種解決方法是添加這是你第一次更改來電後刪除空值

<option value="0"></option> <option value="1">First option</option>

$("#select1").change(function(){ // You delete the blank value for the first call $("#select1 option[value=0]").remove(); ...

+0

當更改事件綁定到選擇控件後,您不必這樣做,因爲對象正在生成。選擇控件是動態生成的,並且不存在控件的綁定。 –

+0

然後你只需要在調用之前添加一個空值。每個 – Kryze

0

Parshuram, 我以爲你會用後面的代碼加載選擇控制如果你維護類和函數,下面的代碼仍然可以工作。

我希望這會幫助你。所有你需要的是功能。請享用!如果您選擇了同一個下拉式option.So它不會爲單個值工作

$(function(){ 
 
var Result = [{id:'1', value:'One'},{id:'2',value:'Two'}]; 
 
$('.Test').empty(); 
 
    $.each(Result, function (i, p) { 
 
     $('.Test').append($('<option></option>').val(p.id).html(p.value)); 
 
    }); 
 
    
 
    $('.form-wrapper').on('change','.Test',function(){ 
 
     console.log('You have selected: ' + $(this).val()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="form-wrapper"> 
 
<input type="button" Value="Add Option" class="btnAddManual" /> </br> 
 
<select class="Test form-control"><option>--</option></select> 
 
</div>

+0

你的代碼片段不工作? –

+0

您在選擇更改時看不到提示?我確實很警覺。我只是想給你基本的代碼,然後你可以從那裏拿走它。 另外,我將警報更改爲控制檯日誌。祝你好運,兄弟! –

+0

如果在下拉菜單中只有一個值,那麼我應該怎麼做 –

0

通常下拉改變事件將不會觸發。

相關問題