动态添加选项与阿贾克斯选择 [英] Dynamically add options to select with ajax

查看:163
本文介绍了动态添加选项与阿贾克斯选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要动态地使用PHP,jQuery和AJAX一个框中添加的选项。

I'm trying to dynamically add options to a box using PHP, jQuery and AJAX.

首先,当第一控制(标记列表)被改变一个呼叫到AJAX:

First, a call to AJAX when the first control (taglist) is changed:

$('#taglist').change(function(){
    $.post('../includes/ajax.php', {   
      taglist:$(this).find("option:selected").attr('value')}, function(data) {
      $("#catlist").html(data.catlist);
    });
});

一个PHP函数fillselecteditmultiple()我已经写了填充以下格式的刺痛:

A PHP function fillselecteditmultiple() I've written populates a sting of the following format:

$options = '<option value="1">Option 1</option><option value="2">Option 2</option><option value="3">Option 3</option>';

这是我用json_en code这个样子返回页面:

which I return it to the page using json_encode like this:

if(isset($_POST['taglist'])){
    $catresult = mysql_query("select catid from category_tags where id='".$_POST['taglist']."'");
    $rowcat = mysql_fetch_array($catresult);

    $catlist = '<select name="cat_id[]" size="5" multiple id="cat_id[]">';
    $catlist .= fillselecteditmultiple(1, 0, $rowcat['catid']);
    $catlist .= '</select>';
    echo json_encode(array("status"=>"success", "catlist" => $catlist));
}

我需要返回字符串($ catlist)内部的&LT;选择一个id =myList上&GT;&LT; /选择&GT; 相应地使最终输出是这样的:

I need to return that string ($catlist) inside of a <select id="mylist"></select> accordingly so that the final output is this:

<select id="mylist">
  <option value="1">Option 1</option>
  <option value="2">Option 2</option>
  <option value="3">Option 3</option>
</select>

在萤火虫我看到页面显示正确的反应,但什么都没有。

In Firebug I see the response correctly but nothing shown in the page.

我应该怎么办呢?请询问任何澄清,如果你觉得泰德我的问题是不完整的。

How should I do this? Please ask for any clarifications if you feel thet my question is incomplete.

推荐答案

如果您有jQuery的lib目录运行做这样的事情:

If you have jquery lib running do something like this:

$.ajax({
  url: 'your_script_url.php',
  success: function(data) {
    $('#mylist').html(data);
  }
});

另外,您可以将数据追加,如果你想添加额外的选项

alternatively you could append the data if you wanted to add extra options

这篇关于动态添加选项与阿贾克斯选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆