Сначала определите, какой выбор должен быть отфильтрован, затем выполните циклическое переключение между отображением настроек параметров, чтобы сначала заблокировать (отменить предыдущий фильтр), а затем, если значение параметра соответствует выбранному значению, установить его на отсутствие.
Редактировать Вышеуказанный метод работает не во всех браузерах. Лучший способ HTML5 - установить и удалить скрытый атрибут. Я обновил фрагмент.
window.CheckDropDowns = function(thisSelect) {
var otherSelectId = ("country1" == thisSelect.id) ? "country2" : "country1";
var otherSelect = document.getElementById(otherSelectId);
for (i = 0; i < otherSelect.options.length; i++) {
//otherSelect.options[i].style.display = 'block';
otherSelect.options[i].removeAttribute('hidden');
if (otherSelect.options[i].value == thisSelect.value) {
//otherSelect.options[i].style.display = 'none';
otherSelect.options[i].setAttribute('hidden', 'hidden');
}
}
}
<section>
<select id="country1" onchange="CheckDropDowns(this)">
<option value="">Choose</option>
<option value="1">Australia</option>
<option value="2">Indonesian Rupiah</option>
<option value="3">Chinese Yaun</option>
<option value="4">Japanese Yen</option>
</select>
Convert to
<select id="country2" onchange="CheckDropDowns(this)">
<option value="">Choose</option>
<option value="1">Australia</option>
<option value="2">Indonesian Rupiah</option>
<option value="3">Chinese Yaun</option>
<option value="4">Japanese Yen</option>
</select>
</section>
Для regexes - Если Вы запускаете скрипт на своей собственной машине или можете распределить связанный, Вы могли использовать расширение Улыбки Satimage (http://www.satimage.fr/software/en/downloads/index.html), который добавляет regexes к Applescript.
Следующий applescript работает на меня, но я не уверен, как сделать соответствие regex. Можно использовать Unix 'grep' функция с applescript's'do shell script
'команда, но я не эксперт в том, как использовать grep правильно. Я оставлю это, чтобы кто-то еще ответил.
on run
tell application "Mail"
set myInbox to mailbox "INBOX" of account 1
set myMessages to every message of myInbox
repeat with theMessage in myMessages
if read status of theMessage is false then
if my subjectIsInteresting(subject of theMessage) then
open theMessage
delay 4
close window 1
end if
end if
end repeat
end tell
end run
on subjectIsInteresting(subject)
-- do some regex magic here
return true -- for now
end subjectIsInteresting
Я знаю, что у вас уже есть ответ, но вы заглянули в Automator? Для большинства стандартных сценариев, подобных этому, это может быть менее болезненно, если вы не слишком знакомы с AppleScript. Это не очень "программно", но быстро, и вы потратите меньше времени на отладку.