0

我有一个像

<select>
    <option value="">Select</option>
    <option value="1">ABC</option>
    <option value="2">DEF</option>
  </select>

我在不同页面的 10 多个地方有相同的选择框。这是通过 ajax 填充的。但是当我从特定页面调用它时,我需要按 . 选择ABCdefault但我不想在剩余的地方。

我不想在我的页面中再次编写代码。有没有可能。

提前致谢...

4

2 回答 2

0

这将是一个非常通用的答案,您必须根据需要进行修改,但如果所有页面上的选择和所有其他标记都相同,这不太可能,您必须检查 URL 以查看您是否重新在某个页面上。

在页面底部, before </body>,您可以执行以下操作:

if ( window.location.href.indexOf('/mysite.html') != -1 ) {

    document.getElementsByTagName('select')[0].value = '1';

}

这会将页面上第一个选择的默认值设置为1,并显示ABC,如果 URL 包含mysite.html.

小提琴

于 2013-06-28T10:37:38.057 回答
0

在这里,您有另一个示例(使用 JQuery),考虑到您对使用 ajax 获得的选项加载组合的评论:如果您自己尝试

查询:

var options = "<option value=\"\">Select</option><option value=\"1\">ABC</option><option value=\"2\">DEF</option>";

function test() {
    // Populate select with ID destiny 1 without selecting a value
    populate("#destiny1", null, options);
    // Populate select with ID destiny 2, selecting the value of the first index
    populate("#destiny2", 1, options);
}

function populate(destiny, indexOption, options) {
    $(destiny).html(options);
    if (indexOption != null) {
        $(destiny + " option")[indexOption].selected = true; 
        $(destiny).trigger("change");
    }
}

HTML:

<select id="destiny1"></select>

<select id="destiny2"></select>

<input type="button" onclick="test()" value="TEST"></input>
于 2013-06-28T10:54:37.057 回答