Jquery меняет выбранное значение в раскрывающемся списке MVC

Я искал в Интернете и читал много разных способов сделать это, но по какой-то причине ни один из них не работает для меня. Должно быть что-то, что мне здесь не хватает. То, что я пытаюсь сделать, это обновить раскрывающийся список с определенным выбранным значением, когда установлен флажок.

HTML для выбора

    <select data-hands-jqui-props="{&quot;header&quot;:true,&quot;height&quot;:175,&quot;minWidth&quot;:225,&quot;classes&quot;:&quot;&quot;,&quot;checkAllText&quot;:&quot;Check all&quot;,&quot;uncheckAllText&quot;:&quot;Uncheck all&quot;,&quot;noneSelectedText&quot;:&quot;Select option&quot;,&quot;selectedText&quot;:&quot;# selected&quot;,&quot;selectedList&quot;:1,&quot;autoOpen&quot;:false,&quot;multiple&quot;:false,&quot;disabled&quot;:false,&quot;handsOnCreate&quot;:null}" data-hands-jqui-type="multiselect" data-val="true" data-val-date="The field  must be a date." id="SundayOpen" name="SundayOpen"><option value=""></option>
<option value="4/17/2013 12:00:00 AM">12:00 AM</option>
<option value="4/17/2013 12:15:00 AM">12:15 AM</option>
<option value="4/17/2013 12:30:00 AM">12:30 AM</option>
<option value="4/17/2013 12:45:00 AM">12:45 AM</option>
<option value="4/17/2013 1:00:00 AM">1:00 AM</option>
<option value="4/17/2013 1:15:00 AM">1:15 AM</option>
<option value="4/17/2013 1:30:00 AM">1:30 AM</option>
<option value="4/17/2013 1:45:00 AM">1:45 AM</option>
<option value="4/17/2013 2:00:00 AM">2:00 AM</option>
<option value="4/17/2013 2:15:00 AM">2:15 AM</option>
<option value="4/17/2013 2:30:00 AM">2:30 AM</option>
<option value="4/17/2013 2:45:00 AM">2:45 AM</option>
<option value="4/17/2013 3:00:00 AM">3:00 AM</option>
<option value="4/17/2013 3:15:00 AM">3:15 AM</option>
<option value="4/17/2013 3:30:00 AM">3:30 AM</option>
<option value="4/17/2013 3:45:00 AM">3:45 AM</option>
<option value="4/17/2013 4:00:00 AM">4:00 AM</option>
<option value="4/17/2013 4:15:00 AM">4:15 AM</option>
<option value="4/17/2013 4:30:00 AM">4:30 AM</option>
<option value="4/17/2013 4:45:00 AM">4:45 AM</option>
<option value="4/17/2013 5:00:00 AM">5:00 AM</option>
<option value="4/17/2013 5:15:00 AM">5:15 AM</option>
<option value="4/17/2013 5:30:00 AM">5:30 AM</option>
<option value="4/17/2013 5:45:00 AM">5:45 AM</option>
<option value="4/17/2013 6:00:00 AM">6:00 AM</option>
<option value="4/17/2013 6:15:00 AM">6:15 AM</option>
<option value="4/17/2013 6:30:00 AM">6:30 AM</option>
<option value="4/17/2013 6:45:00 AM">6:45 AM</option>
<option value="4/17/2013 7:00:00 AM">7:00 AM</option>
<option value="4/17/2013 7:15:00 AM">7:15 AM</option>
<option value="4/17/2013 7:30:00 AM">7:30 AM</option>
<option value="4/17/2013 7:45:00 AM">7:45 AM</option>
<option value="4/17/2013 8:00:00 AM">8:00 AM</option>
<option value="4/17/2013 8:15:00 AM">8:15 AM</option>
<option value="4/17/2013 8:30:00 AM">8:30 AM</option>
<option value="4/17/2013 8:45:00 AM">8:45 AM</option>
<option value="4/17/2013 9:00:00 AM">9:00 AM</option>
<option value="4/17/2013 9:15:00 AM">9:15 AM</option>
<option value="4/17/2013 9:30:00 AM">9:30 AM</option>
<option value="4/17/2013 9:45:00 AM">9:45 AM</option>
<option value="4/17/2013 10:00:00 AM">10:00 AM</option>
<option value="4/17/2013 10:15:00 AM">10:15 AM</option>
<option value="4/17/2013 10:30:00 AM">10:30 AM</option>
<option value="4/17/2013 10:45:00 AM">10:45 AM</option>
<option value="4/17/2013 11:00:00 AM">11:00 AM</option>
<option value="4/17/2013 11:15:00 AM">11:15 AM</option>
<option value="4/17/2013 11:30:00 AM">11:30 AM</option>
<option value="4/17/2013 11:45:00 AM">11:45 AM</option>
<option value="4/17/2013 12:00:00 PM">12:00 PM</option>
<option value="4/17/2013 12:15:00 PM">12:15 PM</option>
<option value="4/17/2013 12:30:00 PM">12:30 PM</option>
<option value="4/17/2013 12:45:00 PM">12:45 PM</option>
<option value="4/17/2013 1:00:00 PM">1:00 PM</option>
<option value="4/17/2013 1:15:00 PM">1:15 PM</option>
<option value="4/17/2013 1:30:00 PM">1:30 PM</option>
<option value="4/17/2013 1:45:00 PM">1:45 PM</option>
<option value="4/17/2013 2:00:00 PM">2:00 PM</option>
<option value="4/17/2013 2:15:00 PM">2:15 PM</option>
<option value="4/17/2013 2:30:00 PM">2:30 PM</option>
<option value="4/17/2013 2:45:00 PM">2:45 PM</option>
<option value="4/17/2013 3:00:00 PM">3:00 PM</option>
<option value="4/17/2013 3:15:00 PM">3:15 PM</option>
<option value="4/17/2013 3:30:00 PM">3:30 PM</option>
<option value="4/17/2013 3:45:00 PM">3:45 PM</option>
<option value="4/17/2013 4:00:00 PM">4:00 PM</option>
<option value="4/17/2013 4:15:00 PM">4:15 PM</option>
<option value="4/17/2013 4:30:00 PM">4:30 PM</option>
<option value="4/17/2013 4:45:00 PM">4:45 PM</option>
<option value="4/17/2013 5:00:00 PM">5:00 PM</option>
<option value="4/17/2013 5:15:00 PM">5:15 PM</option>
<option value="4/17/2013 5:30:00 PM">5:30 PM</option>
<option value="4/17/2013 5:45:00 PM">5:45 PM</option>
<option value="4/17/2013 6:00:00 PM">6:00 PM</option>
<option value="4/17/2013 6:15:00 PM">6:15 PM</option>
<option value="4/17/2013 6:30:00 PM">6:30 PM</option>
<option value="4/17/2013 6:45:00 PM">6:45 PM</option>
<option value="4/17/2013 7:00:00 PM">7:00 PM</option>
<option value="4/17/2013 7:15:00 PM">7:15 PM</option>
<option value="4/17/2013 7:30:00 PM">7:30 PM</option>
<option value="4/17/2013 7:45:00 PM">7:45 PM</option>
<option value="4/17/2013 8:00:00 PM">8:00 PM</option>
<option value="4/17/2013 8:15:00 PM">8:15 PM</option>
<option value="4/17/2013 8:30:00 PM">8:30 PM</option>
<option value="4/17/2013 8:45:00 PM">8:45 PM</option>
<option value="4/17/2013 9:00:00 PM">9:00 PM</option>
<option value="4/17/2013 9:15:00 PM">9:15 PM</option>
<option value="4/17/2013 9:30:00 PM">9:30 PM</option>
<option value="4/17/2013 9:45:00 PM">9:45 PM</option>
<option value="4/17/2013 10:00:00 PM">10:00 PM</option>
<option value="4/17/2013 10:15:00 PM">10:15 PM</option>
<option value="4/17/2013 10:30:00 PM">10:30 PM</option>
<option value="4/17/2013 10:45:00 PM">10:45 PM</option>
<option value="4/17/2013 11:00:00 PM">11:00 PM</option>
<option value="4/17/2013 11:15:00 PM">11:15 PM</option>
<option value="4/17/2013 11:30:00 PM">11:30 PM</option>
<option value="4/17/2013 11:45:00 PM">11:45 PM</option>
</select>

JQuery

  if (IsPreFillOn) {

        $("#SundayOpen option[value='4/17/2013 12:30:00 AM']").attr("selected","selected");
        alert($("#SundayOpen").val());
    }

Document.ready не отображается, но есть. Интересно то, что предупреждение показывает правильное значение, но фактическое раскрывающееся меню не обновляется.

Любые мысли о том, что может происходить?


person gcoleman0828    schedule 17.04.2013    source источник


Ответы (3)


Я показываю, что это работает: http://jsfiddle.net/KazeT/1/

Однако вы должны использовать .prop, а не .attr для установки атрибута.

 $("#SundayOpen option[value='4/17/2013 12:30:00 AM']").prop("selected","selected");
 alert($("#SundayOpen").val());`enter code here`

Но, честно говоря, вам было бы намного проще просто сделать это:

$("#SundayOpen").val("4/17/2013 12:30:00 AM")
person Moby's Stunt Double    schedule 17.04.2013

Попробуйте это: - http://jsfiddle.net/5psSy/

$("#SundayOpen").val("4/17/2013 12:15:00 AM");
alert($("#SundayOpen").val());
person PSL    schedule 17.04.2013

Спасибо Вам большое за информацию. оказалось, что мы использовали инструмент виджета, который, как я не осознавал, скрывал/создавал больше уровней под названием Multiselect. если кто-то попадет сюда и у него будет такая же проблема и тот же виджет... вот ответ:

 $("#SundayOpen").multiselect("widget").find("input[value='4/17/2013 12:00:00 AM']").each(function () {
            this.click();
        });
person gcoleman0828    schedule 17.04.2013