value
geçerli bir nesne değildir. abc
tırnak içine alınmalıdır.
<option>
için
value
özellik nesnesi benzeri dizge içinde 123 olarak
id
sahip alkil'i
<option>
elemanları filtrelemek için
filter()
kullanabilir
<option value='{"name":"abc","id":123}'>abc</option>
^^
olmalıdır. Seçilen seçenek olarak ayarlamak için filtrelenmiş option
numaralı telefondan prop('selected', true)
prop('selected', true)
. Rayon gibi
// Filtering all options in the select
$('select option').filter(function() {
var val = $(this).val(), // Get value
obj = {};
// Try to parse the string to JSON
try {
obj = JSON.parse(val);
} catch (e) {
obj = {}; // Empty object if parsing fails
}
// Filter based on the `id` in the value
return obj.id === 123;
}).prop('selected', true); // Set the option as selected
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select>
<option value="Hello">fdsafds</option>
<option value='{"name":"abc","id":123}'>abc</option>
</select>
Demo:
yerine değer olarak nesneyi kullanmak yerine,
commented vardır, ben
data-*
özel öğede verileri depolamak için niteliklerini HTML5 kullanmak tavsiye edeceğiz.
$('option[data-id="123"]').prop('selected', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<select>
<option value="Hello" data-name="bond" data-id="007">fdsafds</option>
<option value="something" data-name="abc" data-id="123">abc</option>
</select>
kullanabilirsiniz, 'veri name' ve' verileri-id' niteliklerini seçenekleri arasında döngü gerekir ve value' 'olarak Nesnesi'' tutmanın yerine seçilen özelliğini –
ayarlayın. .ve kullanın $ ('option ["data-id = 123"]') ' – Rayon