الحصول على قيمة مختارة <select> عنصر في دارت
سؤال
كيف يمكنني الحصول على الخيار المحدد للعنصر?وثيقة.الاستعلام ("#معرف") - إرجاع العنصر الذي لا قيمة بروبي لذلك لا أستطيع أن أفعل:
var val = document.query("#id").value;
var val = (SelectElement)(document.query("#id")).value; // - "SelectElement is class and cannot be used as an expression"
كيفية القيام تحويل نوع في دارت بشكل صحيح?
المحلول 2
تحتاج فقط: giveacodicetagpre.
ستكون تحذيرا، ولكن يمكنك تجاهلها
نصائح أخرى
بشكل عام ، عند التعامل مع أي عنصر هتمل ، وعادة ما الاستعلام عن عنصر هتمل أولا:
InputElement myElement = document.query(#myInputElement);
ثم استخدم بعض الأحداث لالتقاط القيمة الموجودة في هذا العنصر:
int val = Math.parseInt(myElement.value);
لذلك على سبيل المثال ، في هتمل يمكن أن يكون عنصر الإدخال من نوع النطاق:
<input id="mySlider" type="range" min="1000" max="10000" step="20" value="5000" />
في دارت ، وأود أن الاستيلاء على قيمة هذا المنزلق باستخدام الماوس حتى الحدث:
InputElement mySlider = document.query('#mySlider');
mySlider.on.mouseUp.add((e) {
int _val = Math.parseInt(mySlider.value);
document.query('#status').innerHTML = "$_val";
});
تحرير: في م1, ، يمكنك الآن فقط استخدام عامل الإرسال as
.إذا بدا هتمل الخاص بك مثل هذا:
<p id="text">This is some text</p>
يمكنك استرداد النص من علامة الفقرة عن طريق القيام بذلك:
String str = (query('#text') as ParagraphElement).text;
اعتدت:
var val = int.parse(query("#id").value, onError: (_) => 1);
هذا يمنع استثناء في حالة الاستعلام ("#معرف").القيمة فارغة وتعين قيمة افتراضية (1).