2012-01-27 16 views
9

मुझे एक समस्या है जहां एंड्रॉइड मोबाइल डिवाइस पर एक ड्रॉप-डाउन सिलेक्ट बॉक्स ड्रॉप-डाउन नहीं होता है (यह अनिवार्य रूप से निष्क्रिय है)। यह डेस्कटॉप ब्राउज़र के साथ-साथ आईओएस ब्राउज़र पर ठीक काम करता है - आईओएस पर एक पिकर व्हील और डेस्कटॉप से ​​ड्रॉपडाउन चयन सूची लाता है।एंड्रॉइड ब्राउज़र पर ड्रॉपडाउन सक्रिय नहीं है

नमूना कोड है;

<select id = "log_or_norm" autofocus> 
<option value="1">Lognormal</option> 
<option value="2">Normal</option> 
</select> 

मैंने सुझाव पर कोशिश की; http://youngliferamblings.wordpress.com/2011/08/09/select-dropdown-in-android-webview/

जो था

चयन टैग बस वेबव्यू का उपयोग कर एंड्रॉयड में कभी कभी काम नहीं करता है, विशेष रूप से किसी ऐप्लिकेशन में। यह मुझे लंबे समय तक पागल कर दिया। मुख्य फिक्स मैंने पाया, भले ही आपके चयन को divs और पंक्तियों में गहरा दफनाया गया हो और फिर भी, यह सीएसएस है:

{ दृश्यता: दृश्यमान; -webkit-look: menulist-text; }

-वेबकिट-उपस्थिति वास्तव में केवल एक ही आवश्यक हो सकती है और इसे 'सूची बॉक्स' कार्यों में भी सेट कर सकती है।

यह सब कुछ है। यह अपनी खुद की पोस्ट के लायक है।

भाग्य के बिना

....

Am उम्मीद है कि यहां गुरु से एक एक सुरुचिपूर्ण समाधान मुझे प्रत्येक विकल्प के लिए असतत बटन बनाने का मार्ग नीचे जाने के लिए होने से बचने होगा कि प्रदान कर सकते हैं। मुझे इस बात से परेशान नहीं है कि एंड्रॉइड अनुभव को एक अच्छा पिकर व्हील मिलता है या नहीं, लेकिन एंड्रॉइड उपयोगकर्ताओं को एक विकल्प चुनने की अनुमति देने में सक्षम होना चाहिए।

पहले से आपको धन्यवाद

+0

एक बात जो मैंने उल्लेख करने की उपेक्षा की है वह यह है कि मैं इसे आईईई ढांचे के अंदर कर रहा हूं। ऐसा लगता है कि एक आईयूई मुद्दा हो सकता है जो इसका कारण बन रहा है, और मैं देव टीम को इसे बांधने में मदद कर रहा हूं। Http://code.google.com/p/iui/issues/detail?id=263 – vinomarky

+0

शायद संबंधित: http://wil.to/android-positioning/fixed.html – James

+0

मैं इसमें भी भाग रहा हूं, लेकिन केवल जब मैं चौड़ाई या पैडिंग सेट करता हूं। – spy

उत्तर

0

getDriver().createElement(By.id("your locator")); 
getDriver().createElement(By.id("your locator")).sendKeys("option Name you want to give"); 
+3

क्या आप समझा सकते हैं कि यह क्या कर रहा है? – drogon

0
var divCreated = false; 
$(document).ready(function() { 
     var value = ""; 
     $("select").each(function (i) { 
       $(this).click(function() { 
         //alert(($(this).is(":focus"))); 
         if (!($(this).is(":focus"))) { 
          if (!divCreated) { 
           $("body").append('<div class="for_select"></div>'); 
           divCreated = true; 
          } 
          $(this).clone().appendTo(".for_select"); 
          open($(this)); 
         } 
        }); 
      }); 

     function open(obj) { 
      var pos = $(obj).offset(); 
      $(".for_select select").css("position", "absolute"); 
      $(".for_select select").css("zIndex", "9999999999999"); 
      var toAdd = $(obj).innerHeight(); 
      $(".for_select select").offset({ 
        top: pos.top + toAdd, 
        left: pos.left 
       }); 
      $(".for_select select").attr("size", ($(obj).children("option").length > 10 ? 10 : $(obj).children("option").length)); 
      $(".for_select select").change(function() { 
        value = $(".for_select select").val(); 
        $(obj).val(value); 

        $(obj).children("option").each(function() { 
          if ($(this).text() == value) 
           $(this).attr("selected", "selected"); 
          else if ($(this).attr("selected")) { 
           $(this).removeAttr("selected"); 
          } 
         }); 
        var parentHeight = $(obj).parent().innerHeight(); 
        $(obj).parent().css("height", parentHeight + "px"); 
        $(obj).parent().css("position", "relative"); 
        $(obj).css("position", "absolute"); 
        $(obj).css("left", "0px"); 
        var prevElementsHeight = 0; 
        var isSelect = false; 
        $(obj).parent().children("*").each(function() { 
          if ($(this) == $(obj)) 
           isSelect = true; 
          if (!isSelect) 
           prevElementsHeight += $(this).innerHeight(); 
         }); 
        $(obj).css("top", (prevElementsHeight/2) + "px"); 
        $(obj).css("zIndex", "9999"); 

        close($(".for_select select")); 
       }); 
     } 

     function close(obj) { 
      $(obj).css("position", "static"); 
      $(obj).attr("size", "1"); 
      $(".for_select").empty(); 
     } 
    }); 
+0

मेरे लिए काम नहीं किया। यद्यपि प्रयास के लिए धन्यवाद। – spy

0

समाधान नहीं बल्कि सरल आया था के बाद मैं दिनों के लिए इस लड़ाई लड़ी की कोशिश करो।

जब तक आपको समस्याग्रस्त div नहीं मिल जाता तब तक नेस्टेड divs से चयन लाकर डीबगिंग करने का प्रयास करें।

मेरे मामले में, समस्या यह थी कि मैंने सभी डेटा-भूमिका = "पृष्ठ" divs को मूल div में लपेट लिया (कम अंत उपकरणों पर खाद लोड करने के लिए)। किसी कारण से, < एंड्रॉइड 2.3 में इसकी समस्या है।

संबंधित मुद्दे