从下拉列表中选择一个项目

时间:2017-08-06 06:13:57

标签: c#

早上好。 我无法从下拉列表中选择一个项目。

drpp-down

做了以下事情:

1)我输入了文字

WebBrowser1.Document.GetElementById ("Advert_category_id").InnerText = "Wedding / Event Services";

2)一旦未扭曲,请使用以下命令以不同的顺序设置值。

WebBrowser1.Document.GetElementById("Advert_category_id").SetAttribute("selected", "selected");
WebBrowser1.Document.GetElementById("Advert_category_id").InvokeMember("onchange");
WebBrowser1.Document.GetElementById("Advert_category_id").InvokeMember("submit");
WebBrowser1.Document.GetElementById("Advert_category_id").InvokeMember ("value", "84");

问题是此代码选择了我需要的选项,但它没有出现在字段中。那些。只有当您单击该字段时,在执行代码后,您才能看到所选的选项。但这种方法也不正确,因为 以下名为SUB CATEGORY的下拉列表不会加载所需的数据(数据保留默认选择的类别 - Professional) 我试着尝试不同的id-shniki。没有任何帮助:(

网站本身https://list.asiandirectoryapp.com/advert/create (您必须注册才能查看) 我做了第二个ack, 这不会浪费时间进行注册 fovogaze@p33.org qwerty123 感兴趣的代码



 <div style="display:none"><div class="form-group"><label class="control-label" for="Advert_city_id">City</label><select class="form-control" name="Advert[city_id]" id="Advert_city_id">
    </select><div class="help-block error" id="Advert_city_id_em_" style="display:none"></div></div></div><div class="form-group"><label class="control-label required" for="Advert_category_id">Category <span class="required">*</span></label><select class="form-control" name="Advert[category_id]" id="Advert_category_id">
    <option value=""></option>
    <option value="35">Beauty, Health &amp; Fitness</option>
    <option value="19">Education</option>
    <option value="21">Entertainment</option>
    <option value="27">Food, Drink &amp; Sweet Centres</option>
    <option value="39">Home Services</option>
    <option value="116">Jobs/Careers</option>
    <option value="43">Motoring</option>
    <option value="50">Other Services</option>
    <option value="1">Professional</option>
    <option value="51">Property Improvements</option>
    <option value="84">Wedding/Event Services</option>
    <option value="117">Whats On Guide</option>
    </select><div class="help-block error" id="Advert_category_id_em_" style="display:none"></div></div><div class="form-group"><label class="control-label required" for="Advert_categoryList">Sub category <span class="required">*</span></label><select multiple="multiple" class="form-control" name="Advert[categoryList][]" id="Advert_categoryList">
    <option value="2">Accountants</option>
    <option value="4">Claims</option>
    <option value="123">Clothing Manufacturers</option>
    <option value="6">Estate &amp; Letting Agents</option>
    <option value="7">Finance/Mortgages</option>
    <option value="8">Graphic &amp; Web Design</option>
    <option value="9">Immigration</option>
    <option value="10">Information Technology</option>
    <option value="11">Insurance</option>
    <option value="13">Mobile Apps - Mobile Phones</option>
    <option value="14">Online Marketing/ SEO</option>
    <option value="18">Print</option>
    <option value="15">Retail and Wholesale</option>
    <option value="16">Solicitors - Lawyers</option>
    <option value="17">Travel Agents</option>
    </select><div class="help-block error" id="Advert_categoryList_em_" style="display:none"></div></div><div class="form-group"><label class="control-label required" for="Advert_name">Company Name <span class="required">*</span></label><input class="form-control" placeholder="Company Name" name="Advert[name]" id="Advert_name" type="text" maxlength="100" /><div class="help-block error" id="Advert_name_em_" style="display:none"></div></div>
&#13;
&#13;
&#13;

P.S。我可以填写所有字段,按相同的方式按下按钮,但下拉列表中的麻烦。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我有类似的问题,但我选择通过简单地调用一个处理dom对象操作的客户端javascript(带参数)来解决它。

我发现通过这种方式我也可以分离代码,保持JS中的dom处理和winforms中的应用程序代码。它还允许您利用例如提供的任何功能。包装select的jQuery插件。

它可能看起来像这样(未经测试):

Object[] objArray = new Object[2];
        objArray[0] = selectorID;
        objArray[1] = valueToSet;
webBrowser1.Document.InvokeScript("SetSelector", objArray);

并在客户端:

function SetSelector(selectorID, valueToSet){
  $('#'+selectorID).val(valueToSet); //or any function you'd like
}