重複する項目を持つコンボボックスの全選択方法

ブラウザ上で重複する項目を持つコンボボックスに対して全選択する方法はありませんでしょうか?

コンボボックス
・A
・B
・C
・C
・D

フルテキストを取得し、配列に格納した後「複数の項目を選択」のアクティビティで全選択しようとするとCの項目のみ1つしか選択されません…。
システムとしてCが重複していること自体が問題なのは理解しておりますが、2つのCを含めた全選択をする方法はありませんでしょうか?

こんにちは
対象はwebでしょうか?そうであれば、Inject JS Scriptで出来るかもしれません。
以下ScriptCodeの内容例です。

"function(e,v) {
var ops = e.options;
Array.from(ops).forEach(function(option) {
option.selected=true;
});
}"

ご回答ありがとうございます。
対処はwebになります。
JSスクリプトについては使ったことがないもので…
具体的な使い方についてご教授いただけますでしょうか?

こんにちは

クリック等と同様に対象要素(この場合コンボボックス)を選択し
ScriptCodeプロパティに上記を設定してください。

なおこの方法は単純なSelect要素を使ったコンボボックスには有効ですが、
特殊な構造の場合は対応不可なので別の方法を探る必要があります

記載いただいた方法で実行してみたのですが
「オブジェクトは’from’プロパティまたはメソッドをサポートしていません」
と出てしまいます。

こんにちは

選択したコンボボックスのセレクターを共有可能でしょうか?(Select要素でしょうか?)

<webctrl id ‘●●●’ tag=‘SELECT’ type=‘elect-multiple’ />
こちらになります(一部伏せております)

正しくは
<webctrl id ‘●●●’ tag=‘SELECT’ type=‘select-multiple’ />
でした…

こんにちは

以下ではいかがでしょうか?

"function(e,v) {
var ops = e.options;
for (let i = 0; i < ops.length; i++) {
ops[i].selected=true;
}
}"

ちなみにブラウザは何をお使いでしょうか?

エラー HRESULTからの例外 0x80020101
となりました。ブラウザはIE バージョン21H1です

こんにちは

現在のScriptCodeプロパティの内容を共有いただくことは可能でしょうか?(スクリーンショット等で)


写真で申し訳ありませんがこちらとなります。

こんにちは

最初のFを小文字にしてみてください。その他も上記のサンプル通りでお願いします。


添付のように修正致しましたが、同じエラーとなりました…

こんにちは

見た目問題なさそうですね。この例外は文法エラーの可能性が高いので、
特定の行を削除していって、どの行に問題があるかを特定してみてはと思います。

例えば
4行目を削除して、エラーが出るか?
エラーが出れば、(現在の)3・5行目を削除してエラーが出るか?
エラーが出れば2行目を削除して...
という感じです。

for文があるとエラーが出ていたので
for文のlet iをvar i に変えたら正しく動作しました!

1 Like

すみません、追加で教えて頂きたいのですが
ops[i].●● の●●に何かしらのパラメータを指定することで
項目名を取得することはできますでしょうか?
全選択はするものの、特定の文字を含むものは選択しないといった場合に
活用したいと考えております。

こんにちは

ops[i].value

でoption要素のvalue属性は取得可能です。
あるいは、GetFullTextや、FincChidrenであらかじめインデクス番号に対応させた各選択肢を取得しておいて、それをベースにコントロールする手もあります。

1 Like

ありがとうございます。
検討させて戴きます!

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.