Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择html中的所有选项动态选择_Javascript_Html_Form Submit_Option_Multi Select - Fatal编程技术网

Javascript 选择html中的所有选项动态选择

Javascript 选择html中的所有选项动态选择,javascript,html,form-submit,option,multi-select,Javascript,Html,Form Submit,Option,Multi Select,我在一个表单中选择了两个HTML。第一个称为available,包含几个选项: <select name="sortedby" multiple="multiple"> <option value="start"> <xsl:if test="@sortedby='start'"> <xsl:attribute name="selected">true</xsl:attribute>

我在一个表单中选择了两个HTML。第一个称为
available
,包含几个选项:

<select name="sortedby" multiple="multiple">
    <option value="start">
        <xsl:if test="@sortedby='start'">
            <xsl:attribute name="selected">true</xsl:attribute>
        </xsl:if>
        Start time
    </option>

    <option value="thread_id">
        <xsl:if test="@sortedby='thread_id'">
            <xsl:attribute name="selected">true</xsl:attribute>
        </xsl:if>
        Thread Id
    </option>

    <option value="user_name">
        <xsl:if test="@sortedby='user_name'">
            <xsl:attribute name="selected">true</xsl:attribute>
        </xsl:if>
        Username
    </option>
</select>
有一个按钮,用于从
可用
中删除所选选项,并将其移动到
您的选择

这个按钮从我可以使用但不能修改的库中调用JavaScript函数

基本上它工作得很好。但有一点不便:当用户将一个或多个选项从
可用
移动到
您的选择
时,默认情况下“到达时”不会选择它们。因此,当前用户必须首先在
可用
中选择一个选项,然后将其移动到
您的选择
,然后再次在
您的选择
中手动选择它,然后提交表单

我想要的是,默认情况下,
yourselection
中的所有内容都应标记为selected。有什么想法吗

更新我有一个可以选择所有元素的函数:

function selectAllOptions(obj) {
    if (!hasOptions(obj)) { return; }
    for (var i = 0; i < obj.options.length; i++) {
        obj.options[i].selected = true;
    }
}
功能选择所有选项(obj){
如果(!hasOptions(obj)){return;}
对于(变量i=0;i
但问题是如何称呼它?出于这个原因,我不想再添加一个按钮


在select中应该有类似于
onfill
的东西或类似的东西。

试试这个更新

HTML


....
功能选择所有选项(obj){
如果(!hasOptions(obj)){return;}
对于(变量i=0;i


您可以在这里获得灵感:
当试图更改表中的列时。

当然,会想到一些建议,比如在移动的元素上设置selected属性,但我们看到的只是一堆与javascript根本不相关的服务器端代码?“在移动的元素上设置selected属性”怎么做?我怎么知道,我还没有看到任何与这个问题相关的代码?你是如何移动元素的?你需要给出代码。与javascript根本不相关。我没有访问这个javascript函数的权限。我可以使用它,但我不被允许修改它。我可以编写一个不同的代码,但是这个新函数应该叫什么?什么你能调用这个函数吗?
function selectAllOptions(obj) {
    if (!hasOptions(obj)) { return; }
    for (var i = 0; i < obj.options.length; i++) {
        obj.options[i].selected = true;
    }
}
<select name="sortedby" multiple="multiple" id="sortedby" onchange="putvalue()">
    <option value="start">Start time</option>
    <option value="thread_id">Thread Id</option>
    <option value="user_name">Username</option>
</select>

<select name="sortedby_target" id="sortedby_target" multiple="multiple" ></select>
function putvalue(){
    $('option[value="' + $('#sortedby_target').val() + '"]').prop('selected','');
    $("#sortedby_target").append('<option value="' + $('#sortedby').val() + '" selected>' + $('#sortedby').val() + '</option>');
    $("#sortedby option[value=" + $('#sortedby').val() + "]").remove();
}
$('option[value="' + $('#sortedby_target').val() + '"]').prop('selected','');
    <form name="jmxForm" onsubmit="selectAllOptions(sortedby_target)">
    ....
    </form>





function selectAllOptions(obj) {
if (!hasOptions(obj)) { return; }
for (var i=0; i<obj.options.length; i++) {
    obj.options[i].selected = true;
    }
}
<input type="submit" onclick="selectAllOptions(sortedby_target);" />
<form onsubmit="selectAllOptions(sortedby_target);"></form>