2

我环顾四周,我想我已经接近了,但我真的很挣扎。

我们有一个页面通过 AJAX 拉入内容以填充下拉菜单。

您从一个下拉列表开始,您选择的内容将获取下一组等。

我希望能够通过在后面的菜单之一中单击链接在下拉列表中选择一个选项(即,最初不可见),并且我认为由于 AJAX 存在一些 jQuery 绑定奇怪,但我想不通如何做到这一点。

我的 html (此处的选择列表在填充 AJAX 之前不存在)

<form>
<select name="myList">
   <option value="1">Option 1</option>
   <option value="2">Option 2</option>
   <option value="3">Option 3</option>
</select>
<a href="javascript:void(0)" id="option1">Select option 1</a>
<a href="javascript:void(0)" id="option2">Select option 2</a>
<a href="javascript:void(0)" id="option3">Select option 3</a>
</form>

我的jq:

$('#option1').click(function() {
    $('select[name=myList] option[value=1]').attr('selected', 'selected');
});
$('#option2').click(function() {
    $('select[name=myList] option[value=2]').attr('selected', 'selected');
});
$('#option3').click(function() {
    $('select[name=myList] option[value=3]').attr('selected', 'selected');
});

现在这适用于选择选项,但它不模拟鼠标点击,我需要它(出于某种原因),这是显示下一个内容所必需的(即,不仅仅是选择正确的选项,它必须被点击on。在这里我的意思是,我得到 onClick 事件来触发,但这仍然没有得到下一个要加载的内容。我不能遗憾地改变这个:/)。

我试图在这里实现一些东西http://docs.jquery.com/Frequently_Asked_Questions#Why_do_my_events_stop_working_after_an_AJAX_request.3F

但没有取得任何成功。感谢您的任何想法。

4

1 回答 1

1

您总是可以自己模拟点击吗?尽管这是您想要的更改事件,但只需执行以下操作:

演示:http: //jsfiddle.net/xsP2A/

$('#option1').click(function() {
    $('select[name=myList] option[value=1]').attr('selected', 'selected');
    $('select[name=myList]').change();
});
$('#option2').click(function() {
    $('select[name=myList] option[value=2]').attr('selected', 'selected');
    $('select[name=myList]').change();
});
$('#option3').click(function() {
    $('select[name=myList] option[value=3]').attr('selected', 'selected');
    $('select[name=myList]').change();
});
于 2012-04-19T20:06:19.423 回答