Javascript根據選中的資料顏色,全文檔搜尋選中的資料節點(可條件選擇單個或多個)

來源:互聯網
上載者:User

/**
 * 標記當前選中的資料顏色為'#c90000'(之後的取值以此顏色為基準)
 */
function selectCondition(element) {
 var aElement = element.getElementsByTagName("a")[0];
 var str = deleteStyleWithElement(aElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement.parentElement , element);
 if( '0' == str){
  alert("當前項目已經在文字框裡填寫了內容!");
 }else if('1' == str){
  if(aElement.innerHTML){
   if(aElement.innerHTML.indexOf('#c90000') != -1 ){
    aElement.innerHTML = aElement.innerText;
   }else{
    aElement.innerHTML = '<font color="#c90000">'  + aElement.innerText + '</font>';
   }
  }
 }
}

/**
 * 檢查文字框之前的選擇有沒有被選中
 */
function checkInput(element){
 var parentTr = element.parentElement.parentElement.parentElement;
 var tdElements = parentTr.getElementsByTagName("td");
 var m = 0;
 for ( var i = 0; i < tdElements.length; i++) {
  var aElement = tdElements[i];
  if(aElement.innerHTML.indexOf('#c90000') != -1 ){
   m ++;
  }
 }
 if( 0 != m ){
  alert("該項選擇已選擇!請取消選擇以便自訂的輸入!");
//  for ( var i = 0; i < tdElements.length; i++) {
//   var aElement = tdElements[i];
//   if(aElement.innerHTML.indexOf('#c90000') != -1
//     && aElement.innerText != element.innerText ){
//    aElement.getElementsByTagName("a")[0].innerHTML = aElement.innerText;
//   }
//  }
 }
}

function deleteStyleWithElement(parentElement , element){
 var str = "";
 var tdElements = parentElement.getElementsByTagName("td");
 var inputElements = parentElement.getElementsByTagName("input");
 var inputValue = "";
 for ( var i = 0; i < inputElements.length; i++) {
  if(inputElements[i].value){
   inputValue += inputElements[i].value + ",";
  }
 }
 if(inputValue.length> 1){
  str = '0';
 }else{
  for ( var i = 0; i < tdElements.length; i++) {
   var aElement = tdElements[i];
   if(aElement.innerHTML.indexOf('#c90000') != -1
     && aElement.innerText != element.innerText ){
    aElement.getElementsByTagName("a")[0].innerHTML = aElement.innerText;
   }
  }
  str = '1';
 }
 return str;
}

 

 

/**
 * 擷取elementId為ID號的頁面節點裡的TD裡的所有值,以逗號隔開
 * @param elementId
 * @returns {String}
 */
function getTdValueForElement(elementId){
 var element = document.getElementById(elementId);
 var tdList = element.getElementsByTagName("td");
 var conditionvalues = "";
 if( null!= tdList && tdList.length > 0){
  
  for ( var i = 0; i < tdList.length; i++) {
   var td = tdList[i];
   if(td.innerHTML.indexOf('#c90000') != -1 ){
    conditionvalues +=   td.innerText + ',';
   }
  }
  conditionvalues = subRealValue(conditionvalues);
 }
 
 return conditionvalues;
}

/**
 * 擷取elementId為ID號的頁面節點裡的TD裡的值或是INPUT裡的值(此處僅可返回單個TD節點資料)
 * @param elementId
 * @returns {String}
 */
function getTdValueWithInputForElement(elementId){
 var element = document.getElementById(elementId);
 var tdList = element.getElementsByTagName("td");
 var conditionvalues = "";
 var m = 0;
 if( null!= tdList && tdList.length > 0){
  for ( var i = 0; i < tdList.length; i++) {
   var td = tdList[i];
   if(td.innerHTML.indexOf('#c90000') != -1 ){
    if( m <=0 ){
     conditionvalues =   td.innerText ;
    }else{
     alert("此處只能選擇一項!");
     return;
    }
    m++;
   }
  }
  conditionvalues = subRealValue(conditionvalues);
 }
 if(m == 0){
  var inputList = element.getElementsByTagName("input");
  if(null!=  inputList && inputList.length> 0){
   if(inputList.length == 1){
    conditionvalues =  inputList[0].value;
   }else if(inputList.length == 2){
    conditionvalues =  inputList[0].value +"~" + inputList[1].value + "周歲";
   }
  }
 }
 return conditionvalues;
}

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.