выберите из выпадающего списка и палитра цветов в соответствии со свойствами div - PullRequest
0 голосов
/ 22 марта 2011

Я хочу установить выбранный элемент для выпадающего списка на основе атрибута title элемента div и установить выбранный цвет палитры цветов (style = "background-color: ..." div) с помощью jQuery.

Мой исходный код (из Firebug):

<div class = "rsApt" title ="sql"></div>
<div style="background-color: rgb(0, 255, 51);" class="rsAptOut">
  <select style="width: 100px;" 
          id="ddl_editCourse" 
          onchange="javascript:setTimeout('__doPostBack(\'ddl_editCourse\',\'\')', 0)" 
          name="ddl_editCourse">
    <option value="001">oop1</option>
    <option value="002">sql</option>
    <option value="003">WPF</option>
    <option value="004">c#</option>
  </select>
  <div style="width: 261px; z-index: 4000;" 
       class="RadColorPicker RadColorPicker_Default " 
       id="cp_edit">
    <label class="rcpIcon" 
           title="Pick Color (Current Color is blank)"
           id="cp_edit_label">
      <a href="#">Pick Color</a>
      <em style="background-color: rgb(255, 255, 255);" id="cp_edit_icon">(Current Color is )</em>
    </label>
    <input type="hidden" 
           name="cp_edit_ClientState" 
           id="cp_edit_ClientState"
           autocomplete="off" 
           value="{&quot;selectedColor&quot;:null}">
      <div class="rcpPalette" 
           id="cp_edit_palette"
           style="position: absolute; visibility: hidden; width: 259px; left: 107px; top: 75px; display: none;">
    <div class="rcpHeader">
      <a class="rcpEmptyColor" 
         href="#" title="No Color"
         id="cp_edit_emptycolor">
        <span>No Color</span>
      </a>
    </div>
    <div class="rcpViews">
      <div class="rcpPageView" id="cp_edit_webPalette">
        <ul class="rcpWebPalette">
          <li>
            <a class="rcpColorBox" 
               style="background-color: rgb(0, 0, 0);"
               href="#" 
               title="#000000">
              <span style="width: 8px; height: 8px;">#000000</span>
            </a>
          </li>
          <li>
            <a class="rcpColorBox" 
               style="background-color: rgb(0, 0, 51);"
               href="#" 
               title="#000033">
              <span style="width: 8px; height: 8px;">#000033</span></a>
          </li>
          <!-- Additional colors ellided, the list goes on... -->
          <!-- [...] -->
        </ul>
      </div>
    </div>
  </div>
</div>

Как это сделать перед отображением диалога:

$(document).ready(function() {

  $(".rsAptContent").click(function(e) {
    if ($(e.target).hasClass('rsAptDelete')) {
    }
    else {
        ShowDialog(true);
        e.preventDefault();
    }

});

Заранее спасибо

1 Ответ

1 голос
/ 24 марта 2011

возможно, здесь вы найдете подсказку: jQuery API

$("#ddl_editCourse").change(function () {
      $("#ddl_editCourse option:selected").each(function () {
            $(this).css('backgroundColor', $(".rsApt").css('backgroundColor'));
          });
    })

при этом будут установлены только выбранные параметры. Возможно, вам придется вернуть невыбранные значения к значению по умолчанию - это вам удастся!?

(я не проверял этот код ....)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...