私はjsonから値を取得しているドロップダウンを持っていますが、私のjsonファイルはいくつかの繰り返し値を持っているので、値をフィルタリングすることができました。私はいくつかのより多くのコードが含まれていたときにそれが再び...ドロップダウン内で繰り返し値を取得する
$.ajax({
url: "data.json,
dataType: "json",
success: function(obj) {
var jsObject = obj;
var usedNames = [];
$('<option>', {
text: 'Select your Option',
value: '',
selected: 'selected',
disabled: 'disabled'
}).appendTo('#dropdown1');
$('<option>', {
text: 'Select your List Option',
value: '',
selected: 'selected',
disabled: 'disabled'
}).appendTo('#checkbox');
$.each(obj, function(key, value) {
if (usedNames.indexOf(value.name) == -1) {
$("#dropdown1").append("<option value=" + key + ">" + value.name + "</option>");
usedNames.push(value.name);
}
/* $('<option>', {
text: 'Select your Option',
value: '',
selected: 'selected',
disabled: 'disabled'
}).appendTo('#dropdown1');
*/
$.each(usedNames, function(index, value) {
$('<option>', {
text: value['name'],
value: index
}).appendTo('#dropdown1');
});
/* $('<option>', {
text: 'Select your List Option',
value: '',
selected: 'selected',
disabled: 'disabled'
}).appendTo('#listbox');
*/
$('#dropdown1').change(function() {
$('#checkbox').empty();
$('<option>', {
text: 'Select your List Option',
value: '',
selected: 'selected',
disabled: 'disabled'
}).appendTo('#checkbox');
var selection = $('#dropdown1 :selected').text();
$.each(jsObject, function(index, value) {
if (value['name'] === selection) {
$('<option>', {
text: value['attr001'],
value: 'attr001'
}).appendTo('#checkbox');
$('<option>', {
text: value['attr002'],
value: 'attr002'
}).appendTo('#checkbox');
$('<option>', {
text: value['attr003'],
value: 'attr003'
}).appendTo('#checkbox');
私のHTMLファイル
を値をフィルタリングされalook..Thankます。..$(document).ready(function() {
変数usednamesを持って..please繰り返される値を取り始めました
<form name="myform" id="myForm">
<select id="dropdown1"></select>
<!-- <select id="listbox"></select> -->
<input type="checkbox">
<br>
私のドロップダウンリストの属性1の後に私は次のように仕事をしています*あなたのオプションを選択してください*その後、その透かしが表示されている理由が来ています。 – siya
@ siya 'usedNames'を作成した直後にこの行を追加しています。したがって、 'obj'の各オブジェクトに対して、あなたは「あなたのオプションを選択」を追加しています。 'each'関数の前にこの行を追加してください。私は何度も何度も値3回を取得していますなぜ私は再びいくつかのスペースがあるスクロールすると私の2番目のドロップダウンでの値は、このバグがどこにあるか私は正確に表示されていない – Keker
は、うん、今..Justもう一つの解決しましたしかし、私はそれがあなたの最後の 'each'関数のものだと思います。 'jsObject'の各項目について、'#listbox'に 'jsObject'のすべてを追加しています。この 'each'関数を削除しようとするか、メインの' each'の外に置いてください...そのようなものです。ウルの提案のための – siya