1

以下に示すように、Jquery選択オプションを使用したHTMLページがあります..

<select id="select-stage" class="spinner" data-inline="true" >
    <option value="-1">-Select Stage-</option>
</select>

現在、この選択オプションの内容は、ajax 呼び出しの結果によって動的に提供されます。

こんな感じです

ここに画像の説明を入力

私の問題:

今私の問題は、userオプションを初めてクリックしたときに選択されないことです。しかし、他のオプションHOD1HOD2などHOD3は適切に選択されています。

また、この問題はロード後に初めて発生します。他のオプションを選択してから再度選択userすると、選択されます。

初めてしか選ばれません。私は問題を見つけることができません。

誰でもこれについて助けることができますか?

オプションを設定するコード:

var option=[];
$.each(myData, function(key, val) {
    sessionStorage.setItem(trim(val),trim(key));
    option.push('<option value="' + trim(key) + '">' + trim(val) + '</option>');
});
$('#select-stage').html(option.join(''));
}

//changing values on user selection//
$('#select-stage').live('change',function(){
    stageId = sessionStorage.getItem($(this).find('option:selected').text());
    selecttext = $(this).find('option:selected').text();
    noselection = true;
    listStageselectedIndexChanged(selecttext);
});
4

1 に答える 1

2

これは、すでに選択されている - の最初の項目を置き換えているためですselect。そのため、変更イベントは決して発生しません。

-Select Stage-オプションをデフォルトとしてそこに保持し、その下に新しいオプションを追加する必要があります。次に、他のオプションが選択されると、changeイベントが発生します。

アップデート

これを実現するには、コードを変更して、次のようにデフォルト オプションを追加します。

var option=[];
$.each(myData, function(key, val) {
    sessionStorage.setItem(trim(val),trim(key));
    option.push('<option value="' + trim(key) + '">' + trim(val) + '</option>');
});
$('#select-stage')
    .html(option.join(''))
    .prepend('<option value="-1">-Select Stage-</option>')
    .val('-1');
于 2013-02-06T08:43:29.757 に答える