4

ネットワーク デバイスのリストを含む HTML (複数) 選択リストがあります。

<select id="Printers" multiple="multiple" name="Printers">
  <option value="\\ABCDEF01\PRINTER1\">\\ABCDEF01\PRINTER1\</option>
  <option value="\\ABCDEF02\PRINTER2">\\ABCDEF02\PRINTER2</option>
  ...
  ...
</select>

JavaScriptで値を自動選択したいです。これは私が現在使用しているコードです:

//Assume: val.Name == "\\ABCDEF02\PRINTER2"

var select = document.getElementById('Printers');
var escapedName = val.Name.replace(/\\/g, "\\\\"); // Escape backslashes.
$("option[value=\"" + escapedName + "\"]", select).attr('selected', 'selected');

このコードは chrome では機能しますが、IE7 では機能しません。これがIE7で正しく動作するのを妨げる、知っておくべき癖はありますか?

4

1 に答える 1

0

動作しているようです..jquery1.9で

http://jsfiddle.net/2nGnm/

html:

<select id="Printers" multiple="multiple" name="Printers">
  <option value="\\ABCDEF01\PRINTER1\">\\ABCDEF01\PRINTER1\</option>
  <option value="\\ABCDEF02\PRINTER2">\\ABCDEF02\PRINTER2</option>
</select>

js:

var select = document.getElementById('Printers');
var escapedName = $('[name="Printers"] option:last').val().replace(/\\/g, "\\\\"); // Escape backslashes.
$('option[value="' + escapedName + '"]').prop('selected', true);
于 2013-01-25T15:04:23.897 に答える