0

我被这个问题逼疯了,我在做一个asp.net web项目,所以我用facebox做一个页面弹出,弹出页面只是一个确认,用户需要点击确认按钮,然后我需要删除已使用 jquery selected.js 进行翻译的 select 选项。在主页上,选择

<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

在弹出的页面上,我调用了一个js方法

        var acqlistSelect = $("#selectId", window.parent.document);
        var acqlistSelectIndex = acqlistSelect.prop("selectedIndex");

        $("#selectId option", window.parent.document).eq(acqlistSelectIndex).remove();

        acqlistSelect.chosen({disable_search: true}).change();
        acqlistSelect.trigger("liszt:updated");

并且您知道选择的选定 li 没有被删除。但是如果我在主页本身上调用类似的方法,比如

     var acqlistSelectIndex = $("#selectId").prop("selectedIndex");
     $('#selectId option').eq(acqlistSelectIndex).remove();
     $('#selectId').chosen().change();
     $("#selectId").trigger("liszt:updated");

它完美地工作,选择的选择 li 已被删除。任何的想法。真的很感激。

4

1 回答 1

1

好的,我已经想出了如何做到这一点,我在所选事件 liszt:updated 上添加了一些断点,我在运行代码时发现了

    var acqlistSelect = $("#selectId", window.parent.document);
    var acqlistSelectIndex = acqlistSelect.prop("selectedIndex");

    $("#selectId option", window.parent.document).eq(acqlistSelectIndex).remove();

    acqlistSelect.chosen({disable_search: true}).change();
    acqlistSelect.trigger("liszt:updated");

其实它没有打断点,但是主页上的js方法做到了,所以我打电话

parent.UpdateMethod();

从弹出页面中,它确实击中了它。好的。完毕

于 2013-01-24T04:06:10.100 回答