根据数据库查询结果选择“选中”选项

时间:2013-08-13 23:21:55

标签: jquery select selected

有一个查询数据库的脚本,并在选择字段中突出显示返回的结果。

我正在使用codeigniter和jquery,jquery mobile和jquery ui。

我的视图语法是:

<select id="defaulttreated" name="defaulttreated" data-mini="true" data-theme="a">
    <option value="0" selected></option>
    <option value="yes">Yes</option>
    <option value="no">No</option>
</select>

我的观点jquery是:

function gettreating() {
    //populate treating  start
    var deliveryaddress = $("#deliveryaddress").val();
    //populate treating end
    $.post('gettreatingdefault', {
        deliveryid: deliveryaddress
    }, function (result) {
        alert(result);
        var el = $('#defaulttreated');
        el.val(result).attr('selected', true).siblings('option').removeAttr('selected');
        el.selectmenu("defaulttreated", true);
    });
}

我已经确认结果的值是有效的。目前警报返回'是'。

如何在yes选择框中选择defaulttreated

目前错误消息是:

Error: no such method 'defaulttreated' for selectmenu widget instance并指向jquery.min.js的第3行

2 个答案:

答案 0 :(得分:1)

尝试类似:

function gettreating(){
  $.post('gettreatingdefault.php',
    {deliveryid: $("#deliveryaddress").val()},
    function(result){
      $('#defaulttreated option').each(function(){
        $(this).removeAttr('selected');
        if($(this).val() === result){
          $(this).attr('selected', 'selected');
        }
      });
    }
  });
}

答案 1 :(得分:1)

var el = $('#defaulttreated');
var result = "yes";// just to fix the value
el.val(result);
alert(el.val() + el.find('option:selected').text());//show the selected option and its text

注意:除非此选项有多个,否则您不必“取消选择”其他选项。 工作示例:enter link description here