为每个jquery创建选择选项

时间:2016-01-01 05:33:42

标签: javascript jquery

我从表中收集了3个数组:

    allCamNames = $('#dat tr:gt(0) td:first-child').map(->
      $.trim $(this).text()
    ).get()
    allCamShareCount = $('#dat tr:gt(0) td:nth-child(6)').map(->
      $.trim $(this).text()
    ).get()
    allCamIds = $('#dat tr:gt(0) td:last-child').map(->
      $.trim $(this).text()
    ).get()

我想以这样的方式创建select option菜单

<option value="allCamId">AllCamNames - share Count (AllCamShareCount)</option>

因为这些都是数组所以我想把所有的值都放在选项中,这样当我拥有整个选项时 一个选项就像

<option value="345">One Cam - share Count (34)</option>

另外我有TR并且在映射数组中的所有值时我想忽略这一点:映射值时不包括tr = $(this).parents('tr')

  

当我点击其中一个时,所有三个映射函数都会运行   TD,所以我想排除那个我点击过的TR。

onCameraMerge = ->
  tr = ''
  needToMergeId = ''
  cameraName = ''
  allCamNames = ''
  allCamShareCount = ''
  allCamIds = ''
  $("#dat").on 'click', '.merge-cam', ->
    $('#mergeModal').modal('show')
    tr = $(this).parents('tr')
    needToMergeId = tr.find('td:nth-child(9)').text()
    cameraName = tr.find('td:nth-child(1)').text()
    $("p > #mc").append cameraName
    console.log(needToMergeId)
    allCamNames = $('#dat tr:gt(0) td:first-child').map(->
      $.trim $(this).text()
    ).get()
    allCamShareCount = $('#dat tr:gt(0) td:nth-child(6)').map(->
      $.trim $(this).text()
    ).get()
    allCamIds = $('#dat tr:gt(0) td:last-child').map(->
      $.trim $(this).text()
    ).get()
    optionsHtml = ''
    i = 0
    while i < allCamNames.length
      optionsHtml += '<option value="' + allCamIds[i] + '">' + allCamNames[i] + ' - share Count (' + allCamShareCount[i] + ')</option>'
      i++
    $('#with-cam').html '<select>' + optionsHtml + '</select>'


<tbody><tr> <td><a href="/cameras/3158">hundegaard</a></td><td>vwc200</td><td><span style="color:red;">N</span></td><td><a href="/users/1465">Gert Laumann</a></td><td><span style="color:red;">N</span></td><td>0</td><td>2014-09-02T05:57:25.082Z</td><td class="center"><i class="fa fa-trash-o delete-cam"></i> | <i class="icon-camera merge-cam"></i></td><td style="display: none;">3158</td> </tr><tr> <td><a href="/cameras/1442">will cam</a></td><td>will_34f</td><td><span style="color:red;">N</span></td><td><a href="/users/209">will Creach</a></td><td><span style="color:red;">N</span></td><td>0</td><td>2014-03-23T14:19:01.176Z</td><td class="center"><i class="fa fa-trash-o delete-cam"></i> | <i class="icon-camera merge-cam"></i></td><td style="display: none;">1442</td> </tr></tbody>

1 个答案:

答案 0 :(得分:1)

尝试此操作以创建选择

on run {input, parameters}
    set filehide1 to {}
    repeat with filehide2 in input
        set end of filehide1 to quoted form of POSIX path of filehide2
    end repeat
    set {TID, text item delimiters} to {text item delimiters, space}
    set fileList to filehide1 as text
    set text item delimiters to TID
    do shell script "chflags hidden " & fileList with administrator privileges
end run

要跳过cliked TR,请使用此选项,而不是像

那样
   var optionsHtml = "";
    for (var i = 0; i < allCamNames.length; i++) {
    optionsHtml += '<option value="' + allCamIds[i] + '">' + allCamNames[i] + ' - share Count (' + allCamShareCount[i] + ')</option>';
     }
    $("#idWhereYouWantToShowThisSelect").html("<select>"+optionsHtml+"</select>");