Требуется значение настраиваемого атрибута списка опций [duplicate]

Другим случаем, когда NullReferenceExceptions может случиться, является (неправильное) использование оператора as :

class Book {
    public string Name { get; set; }
}
class Car { }

Car mycar = new Car();
Book mybook = mycar as Book;   // Incompatible conversion --> mybook = null

Console.WriteLine(mybook.Name);   // NullReferenceException

Здесь Book и Car являются несовместимыми типами; a Car не может быть преобразован / передан в Book. Когда этот сбой завершается неудачно, as возвращает null. Используя mybook после этого, вы вызываете NullReferenceException.

В общем случае вы должны использовать cast или as, как показано ниже:

Если вы ожидаете преобразования типа в всегда преуспевает (т. е. вы знаете, какой объект должен быть впереди времени), тогда вы должны использовать cast:

ComicBook cb = (ComicBook)specificBook;

Если вы не уверены в типе, но хотите попробовать , чтобы использовать его как определенный тип, затем используйте as:

ComicBook cb = specificBook as ComicBook;
if (cb != null) {
   // ...
}

133
задан Pranay Rana 14 July 2010 в 07:32
поделиться

7 ответов

jQuery .val ()

  var foo = $('#multiple').val(); 
139
ответ дан Michael B. 3 September 2018 в 13:04
поделиться
var selected=[];
 $('#multipleSelect :selected').each(function(){
     selected[$(this).val()]=$(this).text();
    });
console.log(selected);

Еще один подход к этой проблеме. Выбранный массив будет иметь индексы в качестве значений параметров, и каждый элемент массива будет иметь текст в качестве его значения.

, например

<select id="multipleSelect" multiple="multiple">
    <option value="abc">Text 1</option>
    <option value="def">Text 2</option>
    <option value="ghi">Text 3</option>
</select>

, если говорят, что опции 1 и 2 являются выбранный.

выбранный массив будет:

selected['abc']=1; 
selected['def']=2.
7
ответ дан Alex Tartan 3 September 2018 в 13:04
поделиться

Использование функции .val() в списке с несколькими выборами возвращает массив выбранных значений:

var selectedValues = $('#multipleSelect').val();

и в вашем html:

<select id="multipleSelect" multiple="multiple">
    <option value="1">Text 1</option>
    <option value="2">Text 2</option>
    <option value="3">Text 3</option>
</select>
271
ответ дан Darin Dimitrov 3 September 2018 в 13:04
поделиться

Просто используйте это

$('#multipleSelect').change(function() {
    var selectedValues = $(this).val();  
});
0
ответ дан Kartik Chauhan 3 September 2018 в 13:04
поделиться

Вы также можете использовать функцию js map:

$("#multipleSelect :selected").map(function(i, el) {
    return $(el).val();
});

И тогда вы можете получить любое свойство элемента option:

return $(el).text();
return $(el).data("mydata");
return $(el).prop("disabled");
etc...
10
ответ дан kpull1 3 September 2018 в 13:04
поделиться

Код HTML:

 <select id="multiple" multiple="multiple" name="multiple">
  <option value=""> -- Select -- </option>
  <option value="1">Opt1</option>
  <option value="2">Opt2</option>
  <option value="3">Opt3</option>
  <option value="4">Opt4</option>
  <option value="5">Opt5</option>
 </select>   

Код JQuery:

$('#multiple :selected').each(function(i, sel){ 
    alert( $(sel).val() ); 

});

Надеюсь, что он работает

2
ответ дан Prabhagaran 3 September 2018 в 13:04
поделиться

Получить выбранные значения в разделителе запятой

var Accessids = "";
$(".multi_select .btn-group>ul>li input:checked").each(function(i,obj)
{
    Accessids=Accessids+$(obj).val()+",";
});
Accessids = Accessids.substring(0,Accessids.length - 1);
console.log(Accessids);
0
ответ дан Santhosh Rajkumar 3 September 2018 в 13:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: